Commit 8034790b authored by Mark Tyneway's avatar Mark Tyneway Committed by GitHub

Merge pull request #4699 from ethereum-optimism/develop

Merge develop to master
parents f2ea4cd8 3f8da2de
---
'@eth-optimism/sdk': minor
---
Add in goerli bedrock addresses
......@@ -1045,6 +1045,20 @@ workflows:
- oplabs-gcr
requires:
- op-heartbeat-docker-build
- docker-build:
name: indexer-docker-build
docker_file: indexer/Dockerfile
docker_name: indexer
docker_tags: <<pipeline.git.revision>>,<<pipeline.git.branch>>
docker_context: .
- docker-publish:
name: indexer-docker-publish
docker_name: indexer
docker_tags: <<pipeline.git.revision>>,<<pipeline.git.branch>>
context:
- oplabs-gcr
requires:
- indexer-docker-build
- hive-test:
name: hive-test-rpc
version: <<pipeline.git.revision>>
......@@ -1084,6 +1098,11 @@ workflows:
docker_context: .
- docker-publish:
name: op-node-docker-publish
filters:
tags:
only: /^op-[a-z0-9\-]*\/v.*/
branches:
ignore: /.*/
docker_name: op-node
docker_tags: <<pipeline.git.revision>>,<<pipeline.git.branch>>
context:
......@@ -1103,6 +1122,11 @@ workflows:
docker_context: .
- docker-publish:
name: op-batcher-docker-publish
filters:
tags:
only: /^op-[a-z0-9\-]*\/v.*/
branches:
ignore: /.*/
docker_name: op-batcher
docker_tags: <<pipeline.git.revision>>,<<pipeline.git.branch>>
context:
......@@ -1122,6 +1146,11 @@ workflows:
docker_context: .
- docker-publish:
name: op-proposer-docker-publish
filters:
tags:
only: /^op-[a-z0-9\-]*\/v.*/
branches:
ignore: /.*/
docker_name: op-proposer
docker_tags: <<pipeline.git.revision>>,<<pipeline.git.branch>>
context:
......@@ -1141,6 +1170,11 @@ workflows:
docker_context: .
- docker-publish:
name: op-migrate-docker-publish
filters:
tags:
only: /^op-[a-z0-9\-]*\/v.*/
branches:
ignore: /.*/
docker_name: op-migrate
docker_tags: <<pipeline.git.revision>>,<<pipeline.git.branch>>
context:
......@@ -1158,5 +1192,6 @@ workflows:
- op-node-docker-publish
- op-proposer-docker-publish
- op-batcher-docker-publish
- op-migrate-docker-publish
context:
- oplabs-gcr-release
......@@ -13,7 +13,7 @@ import (
)
var (
Version = "v0.10.7"
Version = "v0.10.9"
GitCommit = ""
GitDate = ""
)
......
......@@ -4,9 +4,9 @@ go 1.18
require (
github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3
github.com/ethereum-optimism/optimism/op-node v0.10.7
github.com/ethereum-optimism/optimism/op-proposer v0.10.7
github.com/ethereum-optimism/optimism/op-service v0.10.7
github.com/ethereum-optimism/optimism/op-node v0.10.9
github.com/ethereum-optimism/optimism/op-proposer v0.10.9
github.com/ethereum-optimism/optimism/op-service v0.10.9
github.com/ethereum/go-ethereum v1.10.26
github.com/urfave/cli v1.22.9
)
......@@ -23,7 +23,7 @@ require (
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
github.com/deckarep/golang-set v1.8.0 // indirect
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect
github.com/ethereum-optimism/optimism/op-bindings v0.10.7 // indirect
github.com/ethereum-optimism/optimism/op-bindings v0.10.9 // indirect
github.com/fjl/memsize v0.0.1 // indirect
github.com/go-ole/go-ole v1.2.6 // indirect
github.com/go-stack/stack v1.8.1 // indirect
......
......@@ -107,14 +107,14 @@ github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3 h1:RWHKLhCrQThMfch+QJ1Z
github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3/go.mod h1:QziizLAiF0KqyLdNJYD7O5cpDlaFMNZzlxYNcWsJUxs=
github.com/ethereum-optimism/op-geth v0.0.0-20221216190603-60b51d600468 h1:7KgjBYDji5AKi42eRYI+n8Gs+ZJVilSASL3WBu82c3M=
github.com/ethereum-optimism/op-geth v0.0.0-20221216190603-60b51d600468/go.mod h1:p0Yox74PhYlq1HvijrCBCD9A3cI7rXco7hT6KrQr+rY=
github.com/ethereum-optimism/optimism/op-bindings v0.10.7 h1:/fG951SZKUwdsnNZeJyCJ6lI2AgiZOosblVggFe7syg=
github.com/ethereum-optimism/optimism/op-bindings v0.10.7/go.mod h1:9ZSUq/rjlzp3uYyBN4sZmhTc3oZgDVqJ4wrUja7vj6c=
github.com/ethereum-optimism/optimism/op-node v0.10.7 h1:dr8iKlUy8VXuUiRcoZ3wCQu9mPtyosC6/7D/VnmSy84=
github.com/ethereum-optimism/optimism/op-node v0.10.7/go.mod h1:l+g1HAgo4DZHm0hf17ztDSx2ZYs5sbFj/UhGkj6ur7k=
github.com/ethereum-optimism/optimism/op-proposer v0.10.7 h1:w164WqXZxEREEzSj3/SY/Am/+Nwd0Aw3RGB3xLE8Ueg=
github.com/ethereum-optimism/optimism/op-proposer v0.10.7/go.mod h1:V48eWwPZ7rgbG2Zq5Ex4ergyqh4gt4CBGEFxmig7MJg=
github.com/ethereum-optimism/optimism/op-service v0.10.7 h1:XWTMSlLG8x0K+QAwBHNs7F7CwfkmpEiVY0xqwEnfA+Y=
github.com/ethereum-optimism/optimism/op-service v0.10.7/go.mod h1:wbtHqi1fv00B3agj7a2zdP3OFanEfGZ23zPgGgFCF/c=
github.com/ethereum-optimism/optimism/op-bindings v0.10.9 h1:FC+M7om33BYBTcdHyZwDX8H/igrZsxtdk+xZAnfIRJg=
github.com/ethereum-optimism/optimism/op-bindings v0.10.9/go.mod h1:9ZSUq/rjlzp3uYyBN4sZmhTc3oZgDVqJ4wrUja7vj6c=
github.com/ethereum-optimism/optimism/op-node v0.10.9 h1:93B8u5hGvXyyESYIMeCGfkZbwFt+gJBx44c1PUvEjrA=
github.com/ethereum-optimism/optimism/op-node v0.10.9/go.mod h1:rtMSVpV5++c/3y3ShyIxaDEm1UmS6iCibY20DFx9HPs=
github.com/ethereum-optimism/optimism/op-proposer v0.10.9 h1:/RLP/eBUhT4N/bHobQnaJAcgb4Gg7mO9C/nv3nDnvV8=
github.com/ethereum-optimism/optimism/op-proposer v0.10.9/go.mod h1:hRF9v4ERcX42J5xIPPD5BnKTOFSKpzrV+meyi1IHXq4=
github.com/ethereum-optimism/optimism/op-service v0.10.9 h1:B6cU47e5MqibqsPzATmNHvjvy04aa8yfgWe5Lv2VQCg=
github.com/ethereum-optimism/optimism/op-service v0.10.9/go.mod h1:wbtHqi1fv00B3agj7a2zdP3OFanEfGZ23zPgGgFCF/c=
github.com/fjl/memsize v0.0.1 h1:+zhkb+dhUgx0/e+M8sF0QqiouvMQUiKR+QYvdxIOKcQ=
github.com/fjl/memsize v0.0.1/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
......
This diff is collapsed.
......@@ -205,6 +205,7 @@ func main() {
&config.L1CrossDomainMessengerProxy,
config.L1ChainID,
config.FinalSystemOwner,
config.ProxyAdminOwner,
&derive.L1BlockInfo{
Number: block.NumberU64(),
Time: block.Time(),
......
......@@ -93,6 +93,7 @@ func PostCheckMigratedDB(
l1XDM *common.Address,
l1ChainID uint64,
finalSystemOwner common.Address,
proxyAdminOwner common.Address,
info *derive.L1BlockInfo,
) error {
log.Info("Validating database migration")
......@@ -123,7 +124,7 @@ func PostCheckMigratedDB(
return fmt.Errorf("cannot open StateDB: %w", err)
}
if err := PostCheckPredeployStorage(db, finalSystemOwner); err != nil {
if err := PostCheckPredeployStorage(db, finalSystemOwner, proxyAdminOwner); err != nil {
return err
}
log.Info("checked predeploy storage")
......@@ -276,7 +277,7 @@ func PostCheckPredeploys(db *state.StateDB) error {
// PostCheckPredeployStorage will ensure that the predeploys had their storage
// wiped correctly.
func PostCheckPredeployStorage(db vm.StateDB, finalSystemOwner common.Address) error {
func PostCheckPredeployStorage(db vm.StateDB, finalSystemOwner common.Address, proxyAdminOwner common.Address) error {
for name, addr := range predeploys.Predeploys {
if addr == nil {
return fmt.Errorf("nil address in predeploys mapping for %s", name)
......@@ -315,8 +316,8 @@ func PostCheckPredeployStorage(db vm.StateDB, finalSystemOwner common.Address) e
// They are set to the final system owner in the config.
if (*addr == predeploys.L2CrossDomainMessengerAddr && key == L2XDMOwnerSlot) || (*addr == predeploys.ProxyAdminAddr && key == ProxyAdminOwnerSlot) {
actualOwner := common.BytesToAddress(slots[key].Bytes())
if actualOwner != finalSystemOwner {
return fmt.Errorf("expected owner for %s to be %s but got %s", name, finalSystemOwner, actualOwner)
if actualOwner != proxyAdminOwner {
return fmt.Errorf("expected owner for %s to be %s but got %s", name, proxyAdminOwner, actualOwner)
}
log.Debug("validated special case owner slot", "value", actualOwner, "name", name)
continue
......
......@@ -3,7 +3,7 @@ module github.com/ethereum-optimism/optimism/op-chain-ops
go 1.18
require (
github.com/ethereum-optimism/optimism/op-bindings v0.10.7
github.com/ethereum-optimism/optimism/op-bindings v0.10.9
github.com/ethereum-optimism/optimism/op-node v0.10.1
github.com/ethereum/go-ethereum v1.10.26
github.com/holiman/uint256 v1.2.0
......@@ -23,7 +23,7 @@ require (
github.com/deckarep/golang-set v1.8.0 // indirect
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect
github.com/edsrzf/mmap-go v1.1.0 // indirect
github.com/ethereum-optimism/optimism/op-service v0.10.7 // indirect
github.com/ethereum-optimism/optimism/op-service v0.10.9 // indirect
github.com/go-kit/kit v0.10.0 // indirect
github.com/go-ole/go-ole v1.2.6 // indirect
github.com/go-stack/stack v1.8.1 // indirect
......
......@@ -79,12 +79,12 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/ethereum-optimism/op-geth v0.0.0-20221216190603-60b51d600468 h1:7KgjBYDji5AKi42eRYI+n8Gs+ZJVilSASL3WBu82c3M=
github.com/ethereum-optimism/op-geth v0.0.0-20221216190603-60b51d600468/go.mod h1:p0Yox74PhYlq1HvijrCBCD9A3cI7rXco7hT6KrQr+rY=
github.com/ethereum-optimism/optimism/op-bindings v0.10.7 h1:/fG951SZKUwdsnNZeJyCJ6lI2AgiZOosblVggFe7syg=
github.com/ethereum-optimism/optimism/op-bindings v0.10.7/go.mod h1:9ZSUq/rjlzp3uYyBN4sZmhTc3oZgDVqJ4wrUja7vj6c=
github.com/ethereum-optimism/optimism/op-bindings v0.10.9 h1:FC+M7om33BYBTcdHyZwDX8H/igrZsxtdk+xZAnfIRJg=
github.com/ethereum-optimism/optimism/op-bindings v0.10.9/go.mod h1:9ZSUq/rjlzp3uYyBN4sZmhTc3oZgDVqJ4wrUja7vj6c=
github.com/ethereum-optimism/optimism/op-node v0.10.1 h1:kVBaOEOYLV22XEHRhB7dfdmoXepO0kx/RsZQK+Bpk1Y=
github.com/ethereum-optimism/optimism/op-node v0.10.1/go.mod h1:pup7wiiUs9g8cZKwXeB5tEGCqwUUwFVmej9MmSIm6S8=
github.com/ethereum-optimism/optimism/op-service v0.10.7 h1:XWTMSlLG8x0K+QAwBHNs7F7CwfkmpEiVY0xqwEnfA+Y=
github.com/ethereum-optimism/optimism/op-service v0.10.7/go.mod h1:wbtHqi1fv00B3agj7a2zdP3OFanEfGZ23zPgGgFCF/c=
github.com/ethereum-optimism/optimism/op-service v0.10.9 h1:B6cU47e5MqibqsPzATmNHvjvy04aa8yfgWe5Lv2VQCg=
github.com/ethereum-optimism/optimism/op-service v0.10.9/go.mod h1:wbtHqi1fv00B3agj7a2zdP3OFanEfGZ23zPgGgFCF/c=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fjl/memsize v0.0.1 h1:+zhkb+dhUgx0/e+M8sF0QqiouvMQUiKR+QYvdxIOKcQ=
github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4=
......
......@@ -10,12 +10,12 @@ require (
github.com/docker/docker v20.10.21+incompatible
github.com/docker/go-connections v0.4.0
github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3
github.com/ethereum-optimism/optimism/op-batcher v0.10.7
github.com/ethereum-optimism/optimism/op-bindings v0.10.7
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.7
github.com/ethereum-optimism/optimism/op-node v0.10.7
github.com/ethereum-optimism/optimism/op-proposer v0.10.7
github.com/ethereum-optimism/optimism/op-service v0.10.7
github.com/ethereum-optimism/optimism/op-batcher v0.10.9
github.com/ethereum-optimism/optimism/op-bindings v0.10.9
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.9
github.com/ethereum-optimism/optimism/op-node v0.10.9
github.com/ethereum-optimism/optimism/op-proposer v0.10.9
github.com/ethereum-optimism/optimism/op-service v0.10.9
github.com/ethereum/go-ethereum v1.10.26
github.com/google/gofuzz v1.2.1-0.20220503160820-4a35382e8fc8
github.com/libp2p/go-libp2p v0.23.3
......
......@@ -159,18 +159,18 @@ github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3 h1:RWHKLhCrQThMfch+QJ1Z
github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3/go.mod h1:QziizLAiF0KqyLdNJYD7O5cpDlaFMNZzlxYNcWsJUxs=
github.com/ethereum-optimism/op-geth v0.0.0-20221216190603-60b51d600468 h1:7KgjBYDji5AKi42eRYI+n8Gs+ZJVilSASL3WBu82c3M=
github.com/ethereum-optimism/op-geth v0.0.0-20221216190603-60b51d600468/go.mod h1:p0Yox74PhYlq1HvijrCBCD9A3cI7rXco7hT6KrQr+rY=
github.com/ethereum-optimism/optimism/op-batcher v0.10.7 h1:fN147RY4T494azf1vYEb8fpjqyAQfV8S4mAD2BSGU+E=
github.com/ethereum-optimism/optimism/op-batcher v0.10.7/go.mod h1:l8NGxkCfL7wG8od7Qd/66UTCRD/GhpyL8NsCREjDwfk=
github.com/ethereum-optimism/optimism/op-bindings v0.10.7 h1:/fG951SZKUwdsnNZeJyCJ6lI2AgiZOosblVggFe7syg=
github.com/ethereum-optimism/optimism/op-bindings v0.10.7/go.mod h1:9ZSUq/rjlzp3uYyBN4sZmhTc3oZgDVqJ4wrUja7vj6c=
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.7 h1:GjbdBYP6u9+PiFJLBNn1aJzOAiSrFC3fAC3CyKETi2M=
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.7/go.mod h1:/zxR27u4tzSFUC7dT/5CgfwVP8JXgqmLJAqIAtvuAUg=
github.com/ethereum-optimism/optimism/op-node v0.10.7 h1:dr8iKlUy8VXuUiRcoZ3wCQu9mPtyosC6/7D/VnmSy84=
github.com/ethereum-optimism/optimism/op-node v0.10.7/go.mod h1:l+g1HAgo4DZHm0hf17ztDSx2ZYs5sbFj/UhGkj6ur7k=
github.com/ethereum-optimism/optimism/op-proposer v0.10.7 h1:w164WqXZxEREEzSj3/SY/Am/+Nwd0Aw3RGB3xLE8Ueg=
github.com/ethereum-optimism/optimism/op-proposer v0.10.7/go.mod h1:V48eWwPZ7rgbG2Zq5Ex4ergyqh4gt4CBGEFxmig7MJg=
github.com/ethereum-optimism/optimism/op-service v0.10.7 h1:XWTMSlLG8x0K+QAwBHNs7F7CwfkmpEiVY0xqwEnfA+Y=
github.com/ethereum-optimism/optimism/op-service v0.10.7/go.mod h1:wbtHqi1fv00B3agj7a2zdP3OFanEfGZ23zPgGgFCF/c=
github.com/ethereum-optimism/optimism/op-batcher v0.10.9 h1:4jVwnc56rJO+acKMz9L86+AV/q/QgYLU0zshfHW5aZ8=
github.com/ethereum-optimism/optimism/op-batcher v0.10.9/go.mod h1:VN53ECiipFG8uo5stH9YBa968YA1ii7Fg1pw+WjpK6I=
github.com/ethereum-optimism/optimism/op-bindings v0.10.9 h1:FC+M7om33BYBTcdHyZwDX8H/igrZsxtdk+xZAnfIRJg=
github.com/ethereum-optimism/optimism/op-bindings v0.10.9/go.mod h1:9ZSUq/rjlzp3uYyBN4sZmhTc3oZgDVqJ4wrUja7vj6c=
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.9 h1:1zO/XGavOhKE39D6bmdyVJehLFq9IBgJpbbt+8gPfu4=
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.9/go.mod h1:17sjIp7SXPN8Bi/yPgmOm6DiYbdOmsxjlgLZLAWg004=
github.com/ethereum-optimism/optimism/op-node v0.10.9 h1:93B8u5hGvXyyESYIMeCGfkZbwFt+gJBx44c1PUvEjrA=
github.com/ethereum-optimism/optimism/op-node v0.10.9/go.mod h1:rtMSVpV5++c/3y3ShyIxaDEm1UmS6iCibY20DFx9HPs=
github.com/ethereum-optimism/optimism/op-proposer v0.10.9 h1:/RLP/eBUhT4N/bHobQnaJAcgb4Gg7mO9C/nv3nDnvV8=
github.com/ethereum-optimism/optimism/op-proposer v0.10.9/go.mod h1:hRF9v4ERcX42J5xIPPD5BnKTOFSKpzrV+meyi1IHXq4=
github.com/ethereum-optimism/optimism/op-service v0.10.9 h1:B6cU47e5MqibqsPzATmNHvjvy04aa8yfgWe5Lv2VQCg=
github.com/ethereum-optimism/optimism/op-service v0.10.9/go.mod h1:wbtHqi1fv00B3agj7a2zdP3OFanEfGZ23zPgGgFCF/c=
github.com/fjl/memsize v0.0.1 h1:+zhkb+dhUgx0/e+M8sF0QqiouvMQUiKR+QYvdxIOKcQ=
github.com/fjl/memsize v0.0.1/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
github.com/flynn/noise v1.0.0 h1:DlTHqmzmvcEiKj+4RYo/imoswx/4r6iBlCMfVtrMXpQ=
......
......@@ -42,35 +42,35 @@ var Beta1 = rollup.Config{
var Goerli = rollup.Config{
Genesis: rollup.Genesis{
L1: eth.BlockID{
Hash: common.HexToHash(""),
Number: 0,
Hash: common.HexToHash("0x6ffc1bf3754c01f6bb9fe057c1578b87a8571ce2e9be5ca14bace6eccfd336c7"),
Number: 8300214,
},
L2: eth.BlockID{
Hash: common.HexToHash(""),
Number: 0,
Hash: common.HexToHash("0x0f783549ea4313b784eadd9b8e8a69913b368b7366363ea814d7707ac505175f"),
Number: 4061224,
},
L2Time: 0,
L2Time: 1673550516,
SystemConfig: eth.SystemConfig{
BatcherAddr: common.HexToAddress(""),
Overhead: eth.Bytes32(common.HexToHash("")),
Scalar: eth.Bytes32(common.HexToHash("")),
GasLimit: 0,
BatcherAddr: common.HexToAddress("0x7431310e026B69BFC676C0013E12A1A11411EEc9"),
Overhead: eth.Bytes32(common.HexToHash("0x0000000000000000000000000000000000000000000000000000000000000834")),
Scalar: eth.Bytes32(common.HexToHash("0x00000000000000000000000000000000000000000000000000000000000f4240")),
GasLimit: 25_000_000,
},
},
BlockTime: 2,
MaxSequencerDrift: 0,
SeqWindowSize: 0,
ChannelTimeout: 0,
MaxSequencerDrift: 600,
SeqWindowSize: 3600,
ChannelTimeout: 300,
L1ChainID: big.NewInt(5),
L2ChainID: big.NewInt(420),
BatchInboxAddress: common.HexToAddress(""),
DepositContractAddress: common.HexToAddress(""),
L1SystemConfigAddress: common.HexToAddress(""),
BatchInboxAddress: common.HexToAddress("0xff00000000000000000000000000000000000420"),
DepositContractAddress: common.HexToAddress("0x5b47E1A08Ea6d985D6649300584e6722Ec4B1383"),
L1SystemConfigAddress: common.HexToAddress("0xAe851f927Ee40dE99aaBb7461C00f9622ab91d60"),
}
var NetworksByName = map[string]rollup.Config{
"beta-1": Beta1,
//"goerli": Goerli,
"goerli": Goerli,
}
func AvailableNetworks() []string {
......
......@@ -6,9 +6,9 @@ require (
github.com/btcsuite/btcd v0.23.3
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0
github.com/ethereum-optimism/optimism/op-bindings v0.10.7
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.7
github.com/ethereum-optimism/optimism/op-service v0.10.7
github.com/ethereum-optimism/optimism/op-bindings v0.10.9
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.9
github.com/ethereum-optimism/optimism/op-service v0.10.9
github.com/ethereum/go-ethereum v1.10.26
github.com/golang/snappy v0.0.4
github.com/google/go-cmp v0.5.8
......
......@@ -145,12 +145,12 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/ethereum-optimism/op-geth v0.0.0-20221216190603-60b51d600468 h1:7KgjBYDji5AKi42eRYI+n8Gs+ZJVilSASL3WBu82c3M=
github.com/ethereum-optimism/op-geth v0.0.0-20221216190603-60b51d600468/go.mod h1:p0Yox74PhYlq1HvijrCBCD9A3cI7rXco7hT6KrQr+rY=
github.com/ethereum-optimism/optimism/op-bindings v0.10.7 h1:/fG951SZKUwdsnNZeJyCJ6lI2AgiZOosblVggFe7syg=
github.com/ethereum-optimism/optimism/op-bindings v0.10.7/go.mod h1:9ZSUq/rjlzp3uYyBN4sZmhTc3oZgDVqJ4wrUja7vj6c=
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.7 h1:GjbdBYP6u9+PiFJLBNn1aJzOAiSrFC3fAC3CyKETi2M=
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.7/go.mod h1:/zxR27u4tzSFUC7dT/5CgfwVP8JXgqmLJAqIAtvuAUg=
github.com/ethereum-optimism/optimism/op-service v0.10.7 h1:XWTMSlLG8x0K+QAwBHNs7F7CwfkmpEiVY0xqwEnfA+Y=
github.com/ethereum-optimism/optimism/op-service v0.10.7/go.mod h1:wbtHqi1fv00B3agj7a2zdP3OFanEfGZ23zPgGgFCF/c=
github.com/ethereum-optimism/optimism/op-bindings v0.10.9 h1:FC+M7om33BYBTcdHyZwDX8H/igrZsxtdk+xZAnfIRJg=
github.com/ethereum-optimism/optimism/op-bindings v0.10.9/go.mod h1:9ZSUq/rjlzp3uYyBN4sZmhTc3oZgDVqJ4wrUja7vj6c=
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.9 h1:1zO/XGavOhKE39D6bmdyVJehLFq9IBgJpbbt+8gPfu4=
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.9/go.mod h1:17sjIp7SXPN8Bi/yPgmOm6DiYbdOmsxjlgLZLAWg004=
github.com/ethereum-optimism/optimism/op-service v0.10.9 h1:B6cU47e5MqibqsPzATmNHvjvy04aa8yfgWe5Lv2VQCg=
github.com/ethereum-optimism/optimism/op-service v0.10.9/go.mod h1:wbtHqi1fv00B3agj7a2zdP3OFanEfGZ23zPgGgFCF/c=
github.com/fjl/memsize v0.0.1 h1:+zhkb+dhUgx0/e+M8sF0QqiouvMQUiKR+QYvdxIOKcQ=
github.com/fjl/memsize v0.0.1/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
......
package version
var (
Version = "v0.10.7"
Version = "v0.10.9"
Meta = "dev"
)
......@@ -13,7 +13,7 @@ import (
)
var (
Version = "v0.10.7"
Version = "v0.10.9"
GitCommit = ""
GitDate = ""
)
......
......@@ -4,9 +4,9 @@ go 1.18
require (
github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3
github.com/ethereum-optimism/optimism/op-bindings v0.10.7
github.com/ethereum-optimism/optimism/op-node v0.10.7
github.com/ethereum-optimism/optimism/op-service v0.10.7
github.com/ethereum-optimism/optimism/op-bindings v0.10.9
github.com/ethereum-optimism/optimism/op-node v0.10.9
github.com/ethereum-optimism/optimism/op-service v0.10.9
github.com/ethereum/go-ethereum v1.10.26
github.com/stretchr/testify v1.8.1
github.com/urfave/cli v1.22.9
......
......@@ -107,12 +107,12 @@ github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3 h1:RWHKLhCrQThMfch+QJ1Z
github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3/go.mod h1:QziizLAiF0KqyLdNJYD7O5cpDlaFMNZzlxYNcWsJUxs=
github.com/ethereum-optimism/op-geth v0.0.0-20221216190603-60b51d600468 h1:7KgjBYDji5AKi42eRYI+n8Gs+ZJVilSASL3WBu82c3M=
github.com/ethereum-optimism/op-geth v0.0.0-20221216190603-60b51d600468/go.mod h1:p0Yox74PhYlq1HvijrCBCD9A3cI7rXco7hT6KrQr+rY=
github.com/ethereum-optimism/optimism/op-bindings v0.10.7 h1:/fG951SZKUwdsnNZeJyCJ6lI2AgiZOosblVggFe7syg=
github.com/ethereum-optimism/optimism/op-bindings v0.10.7/go.mod h1:9ZSUq/rjlzp3uYyBN4sZmhTc3oZgDVqJ4wrUja7vj6c=
github.com/ethereum-optimism/optimism/op-node v0.10.7 h1:dr8iKlUy8VXuUiRcoZ3wCQu9mPtyosC6/7D/VnmSy84=
github.com/ethereum-optimism/optimism/op-node v0.10.7/go.mod h1:l+g1HAgo4DZHm0hf17ztDSx2ZYs5sbFj/UhGkj6ur7k=
github.com/ethereum-optimism/optimism/op-service v0.10.7 h1:XWTMSlLG8x0K+QAwBHNs7F7CwfkmpEiVY0xqwEnfA+Y=
github.com/ethereum-optimism/optimism/op-service v0.10.7/go.mod h1:wbtHqi1fv00B3agj7a2zdP3OFanEfGZ23zPgGgFCF/c=
github.com/ethereum-optimism/optimism/op-bindings v0.10.9 h1:FC+M7om33BYBTcdHyZwDX8H/igrZsxtdk+xZAnfIRJg=
github.com/ethereum-optimism/optimism/op-bindings v0.10.9/go.mod h1:9ZSUq/rjlzp3uYyBN4sZmhTc3oZgDVqJ4wrUja7vj6c=
github.com/ethereum-optimism/optimism/op-node v0.10.9 h1:93B8u5hGvXyyESYIMeCGfkZbwFt+gJBx44c1PUvEjrA=
github.com/ethereum-optimism/optimism/op-node v0.10.9/go.mod h1:rtMSVpV5++c/3y3ShyIxaDEm1UmS6iCibY20DFx9HPs=
github.com/ethereum-optimism/optimism/op-service v0.10.9 h1:B6cU47e5MqibqsPzATmNHvjvy04aa8yfgWe5Lv2VQCg=
github.com/ethereum-optimism/optimism/op-service v0.10.9/go.mod h1:wbtHqi1fv00B3agj7a2zdP3OFanEfGZ23zPgGgFCF/c=
github.com/fjl/memsize v0.0.1 h1:+zhkb+dhUgx0/e+M8sF0QqiouvMQUiKR+QYvdxIOKcQ=
github.com/fjl/memsize v0.0.1/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
......
......@@ -139,11 +139,11 @@ L2ERC721Bridge_Test:test_finalizeBridgeERC721_succeeds() (gas: 168905)
L2OutputOracleTest:test_computeL2Timestamp_succeeds() (gas: 37184)
L2OutputOracleTest:test_constructor_badTimestamp_reverts() (gas: 70717)
L2OutputOracleTest:test_constructor_succeeds() (gas: 33760)
L2OutputOracleTest:test_deleteL2Outputs_afterLatest_reverts() (gas: 200230)
L2OutputOracleTest:test_deleteL2Outputs_afterLatest_reverts() (gas: 211900)
L2OutputOracleTest:test_deleteL2Outputs_ifNotChallenger_reverts() (gas: 18883)
L2OutputOracleTest:test_deleteL2Outputs_nonExistent_reverts() (gas: 103402)
L2OutputOracleTest:test_deleteOutputs_multipleOutputs_succeeds() (gas: 286560)
L2OutputOracleTest:test_deleteOutputs_singleOutput_succeeds() (gas: 172876)
L2OutputOracleTest:test_deleteL2Outputs_nonExistent_reverts() (gas: 107292)
L2OutputOracleTest:test_deleteOutputs_multipleOutputs_succeeds() (gas: 302121)
L2OutputOracleTest:test_deleteOutputs_singleOutput_succeeds() (gas: 180656)
L2OutputOracleTest:test_getL2OutputIndexAfter_multipleOutputsExist_succeeds() (gas: 267182)
L2OutputOracleTest:test_getL2OutputIndexAfter_noOutputsExis_reverts() (gas: 17914)
L2OutputOracleTest:test_getL2OutputIndexAfter_previousBlock_succeeds() (gas: 96086)
......@@ -154,7 +154,7 @@ L2OutputOracleTest:test_nextBlockNumber_succeeds() (gas: 17468)
L2OutputOracleTest:test_proposeL2Output_emptyOutput_reverts() (gas: 26688)
L2OutputOracleTest:test_proposeL2Output_futureTimetamp_reverts() (gas: 28646)
L2OutputOracleTest:test_proposeL2Output_notProposer_reverts() (gas: 25782)
L2OutputOracleTest:test_proposeL2Output_proposeAnotherOutput_succeeds() (gas: 97137)
L2OutputOracleTest:test_proposeL2Output_proposeAnotherOutput_succeeds() (gas: 101027)
L2OutputOracleTest:test_proposeL2Output_unexpectedBlockNumber_reverts() (gas: 28402)
L2OutputOracleTest:test_proposeL2Output_unmatchedBlockhash_reverts() (gas: 29446)
L2OutputOracleTest:test_proposeL2Output_wrongFork_reverts() (gas: 29005)
......
......@@ -198,7 +198,7 @@ contract L2OutputOracle is Initializable, Semver {
);
}
emit OutputProposed(_outputRoot, nextOutputIndex(), block.timestamp, _l2BlockNumber);
emit OutputProposed(_outputRoot, nextOutputIndex(), _l2BlockNumber, block.timestamp);
l2Outputs.push(
Types.OutputProposal({
......
......@@ -10,6 +10,13 @@ import { Types } from "../libraries/Types.sol";
contract L2OutputOracleTest is L2OutputOracle_Initializer {
bytes32 proposedOutput1 = keccak256(abi.encode(1));
event OutputProposed(
bytes32 indexed outputRoot,
uint256 indexed l2OutputIndex,
uint256 indexed l2BlockNumber,
uint256 l1Timestamp
);
function setUp() public override {
super.setUp();
}
......@@ -180,6 +187,7 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
function test_proposeL2Output_proposeAnotherOutput_succeeds() public {
bytes32 proposedOutput2 = keccak256(abi.encode());
uint256 nextBlockNumber = oracle.nextBlockNumber();
uint256 nextOutputIndex = oracle.nextOutputIndex();
warpToProposeTime(nextBlockNumber);
uint256 proposedNumber = oracle.latestBlockNumber();
......@@ -187,6 +195,10 @@ contract L2OutputOracleTest is L2OutputOracle_Initializer {
assertEq(nextBlockNumber, proposedNumber + submissionInterval);
vm.roll(nextBlockNumber + 1);
vm.expectEmit(true, true, true, true);
emit OutputProposed(proposedOutput2, nextOutputIndex, nextBlockNumber, block.timestamp);
vm.prank(proposer);
oracle.proposeL2Output(proposedOutput2, nextBlockNumber, 0, 0);
}
......
{
"finalSystemOwner": "DUMMY",
"controller": "DUMMY",
"numDeployConfirmations": 1,
"finalSystemOwner": "0xBc1233d0C3e6B5d53Ab455cF65A6623F6dCd7e4f",
"controller": "0xBc1233d0C3e6B5d53Ab455cF65A6623F6dCd7e4f",
"l1StartingBlockTag": "0x6ffc1bf3754c01f6bb9fe057c1578b87a8571ce2e9be5ca14bace6eccfd336c7",
"l1StartingBlockTag": "DUMMY",
"l1ChainID": 5,
"l2ChainID": 420,
"l2BlockTime": 2,
"maxSequencerDrift": 1200,
"maxSequencerDrift": 600,
"sequencerWindowSize": 3600,
"channelTimeout": 120,
"channelTimeout": 300,
"p2pSequencerAddress": "DUMMY",
"p2pSequencerAddress": "0x715b7219D986641DF9eFd9C7Ef01218D528e19ec",
"batchInboxAddress": "0xff00000000000000000000000000000000000420",
"batchSenderAddress": "DUMMY",
"l2OutputOracleSubmissionInterval": 20,
"l2OutputOracleStartingTimestamp": -1,
"l2OutputOracleProposer": "DUMMY",
"l2OutputOracleChallenger": "DUMMY",
"finalizationPeriodSeconds": 2,
"batchSenderAddress": "0x7431310e026B69BFC676C0013E12A1A11411EEc9",
"l2GenesisBlockGasLimit": "0x17D7840",
"l2GenesisBlockBaseFeePerGas": "0x3b9aca00",
"l2OutputOracleSubmissionInterval": 12,
"l2OutputOracleStartingBlockNumber": 4061224,
"l2OutputOracleStartingTimestamp": 1673550516,
"l2CrossDomainMessengerOwner": "DUMMY",
"l2OutputOracleProposer": "0x02b1786A85Ec3f71fBbBa46507780dB7cF9014f6",
"l2OutputOracleChallenger": "0xBc1233d0C3e6B5d53Ab455cF65A6623F6dCd7e4f",
"governanceTokenName": "Optimism",
"governanceTokenSymbol": "OP",
"governanceTokenOwner": "0x038a8825A3C3B0c08d52Cc76E5E361953Cf6Dc76",
"finalizationPeriodSeconds": 12,
"proxyAdminOwner": "0xf80267194936da1E98dB10bcE06F3147D580a62e",
"baseFeeVaultRecipient": "0xBc1233d0C3e6B5d53Ab455cF65A6623F6dCd7e4f",
"l1FeeVaultRecipient": "0xBc1233d0C3e6B5d53Ab455cF65A6623F6dCd7e4f",
"sequencerFeeVaultRecipient": "0xBc1233d0C3e6B5d53Ab455cF65A6623F6dCd7e4f",
"gasPriceOracleOverhead": 2100,
"gasPriceOracleScalar": 1000000,
"governanceTokenSymbol": "OP",
"governanceTokenName": "Optimism",
"governanceTokenOwner": "0x038a8825A3C3B0c08d52Cc76E5E361953Cf6Dc76",
"l2GenesisBlockGasLimit": "0x17D7840",
"l2GenesisBlockBaseFeePerGas": "0x3b9aca00",
"eip1559Denominator": 50,
"eip1559Elasticity": 10
}
......@@ -183,7 +183,19 @@ const deployFn: DeployFunction = async (hre) => {
l2OutputOracleStartingTimestamp: deployL2StartingTimestamp,
})
} else {
const tx =
await SystemDictator.populateTransaction.updateL2OutputOracleDynamicConfig(
{
l2OutputOracleStartingBlockNumber:
hre.deployConfig.l2OutputOracleStartingBlockNumber,
l2OutputOracleStartingTimestamp:
hre.deployConfig.l2OutputOracleStartingTimestamp,
}
)
console.log(`Please update dynamic oracle config...`)
console.log(`MSD address: ${SystemDictator.address}`)
console.log(`JSON:`)
console.log(jsonifyTransaction(tx))
}
await awaitCondition(
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
......@@ -22,6 +22,9 @@ const config: HardhatUserConfig = {
hardhat: {
live: false,
},
mainnet: {
url: process.env.RPC_URL || 'http://localhost:8545',
},
devnetL1: {
live: false,
url: 'http://localhost:8545',
......@@ -97,7 +100,10 @@ const config: HardhatUserConfig = {
},
],
deployments: {
goerli: ['../contracts/deployments/goerli'],
goerli: [
'../contracts/deployments/goerli',
'../contracts-periphery/deployments/goerli',
],
mainnet: [
'../contracts/deployments/mainnet',
'../contracts-periphery/deployments/mainnet',
......
......@@ -8,3 +8,5 @@ import './solidity'
import './accounts'
import './check-l2'
import './update-dynamic-oracle-config'
import './wait-for-final-batch'
import './wait-for-final-deposit'
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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