Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nebula
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
exchain
nebula
Commits
d567b7f4
Unverified
Commit
d567b7f4
authored
Mar 01, 2022
by
Matthew Slipper
Committed by
GitHub
Mar 01, 2022
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #2240 from ethereum-optimism/develop
Develop -> Master
parents
bce23b77
36efcdec
Changes
45
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
45 changed files
with
491 additions
and
183 deletions
+491
-183
big-cycles-listen.md
.changeset/big-cycles-listen.md
+5
-0
brown-foxes-hang.md
.changeset/brown-foxes-hang.md
+5
-0
cool-cougars-lick.md
.changeset/cool-cougars-lick.md
+5
-0
grumpy-lemons-laugh.md
.changeset/grumpy-lemons-laugh.md
+5
-0
happy-yaks-clap.md
.changeset/happy-yaks-clap.md
+5
-0
healthy-cycles-jam.md
.changeset/healthy-cycles-jam.md
+5
-0
hungry-apples-exist.md
.changeset/hungry-apples-exist.md
+5
-0
khaki-boxes-learn.md
.changeset/khaki-boxes-learn.md
+5
-0
lovely-shrimps-explain.md
.changeset/lovely-shrimps-explain.md
+6
-0
nasty-boats-type.md
.changeset/nasty-boats-type.md
+5
-0
quick-tables-double.md
.changeset/quick-tables-double.md
+5
-0
spotty-trains-sneeze.md
.changeset/spotty-trains-sneeze.md
+6
-0
driver.go
go/batch-submitter/drivers/proposer/driver.go
+4
-4
driver.go
go/batch-submitter/drivers/sequencer/driver.go
+4
-4
metrics.go
go/batch-submitter/drivers/sequencer/metrics.go
+30
-0
go.mod
go/batch-submitter/go.mod
+1
-3
go.sum
go/batch-submitter/go.sum
+8
-3
interface.go
go/bss-core/metrics/interface.go
+38
-0
metrics.go
go/bss-core/metrics/metrics.go
+116
-42
service.go
go/bss-core/service.go
+10
-10
go.mod
go/gas-oracle/go.mod
+1
-1
go.sum
go/gas-oracle/go.sum
+8
-8
go.mod
go/proxyd/go.mod
+1
-1
go.sum
go/proxyd/go.sum
+8
-8
ovmcontext.spec.ts
integration-tests/test/ovmcontext.spec.ts
+6
-11
rpc.spec.ts
integration-tests/test/rpc.spec.ts
+38
-36
whitelist.spec.ts
integration-tests/test/whitelist.spec.ts
+3
-4
state_transition.go
l2geth/core/state_transition.go
+1
-9
api.go
l2geth/internal/ethapi/api.go
+7
-0
sync_service.go
l2geth/rollup/sync_service.go
+13
-14
Dockerfile.replica-healthcheck
ops/docker/Dockerfile.replica-healthcheck
+2
-0
dtl.env
ops/envs/dtl.env
+0
-1
011-set-addresses.ts
packages/contracts/deploy/011-set-addresses.ts
+4
-1
014-OVM_L1StandardBridge.deploy.ts
packages/contracts/deploy/014-OVM_L1StandardBridge.deploy.ts
+4
-1
chain-constants.ts
packages/data-transport-layer/src/config/chain-constants.ts
+3
-0
index.ts
packages/data-transport-layer/src/config/index.ts
+2
-0
patch-contexts.ts
packages/data-transport-layer/src/config/patch-contexts.ts
+82
-0
transport-db.ts
packages/data-transport-layer/src/db/transport-db.ts
+12
-5
service.ts
...data-transport-layer/src/services/l1-ingestion/service.ts
+1
-1
service.ts
...data-transport-layer/src/services/l2-ingestion/service.ts
+1
-1
service.ts
packages/data-transport-layer/src/services/main/service.ts
+6
-7
run.ts
packages/data-transport-layer/src/services/run.ts
+0
-1
service.ts
packages/data-transport-layer/src/services/server/service.ts
+1
-1
l2-provider.ts
packages/sdk/src/l2-provider.ts
+11
-3
yarn.lock
yarn.lock
+3
-3
No files found.
.changeset/big-cycles-listen.md
0 → 100644
View file @
d567b7f4
---
'
@eth-optimism/replica-healthcheck'
:
patch
---
Fix bug in replica healthcheck dockerfile
.changeset/brown-foxes-hang.md
0 → 100644
View file @
d567b7f4
---
'
@eth-optimism/integration-tests'
:
patch
---
Replaces l1Provider and l2Provider with env.l1Provider and env.l2Provider respectively.
.changeset/cool-cougars-lick.md
0 → 100644
View file @
d567b7f4
---
'
@eth-optimism/l2geth'
:
patch
---
Remove dead code in l2geth
.changeset/grumpy-lemons-laugh.md
0 → 100644
View file @
d567b7f4
---
'
@eth-optimism/data-transport-layer'
:
patch
---
Include patch contexts for bss hf1
.changeset/happy-yaks-clap.md
0 → 100644
View file @
d567b7f4
---
'
@eth-optimism/data-transport-layer'
:
patch
---
Hardcodes BSS HF1 block into the DTL
.changeset/healthy-cycles-jam.md
0 → 100644
View file @
d567b7f4
---
'
@eth-optimism/proxyd'
:
patch
---
Update to go-ethereum v1.10.16
.changeset/hungry-apples-exist.md
0 → 100644
View file @
d567b7f4
---
'
@eth-optimism/gas-oracle'
:
patch
---
Update to go-ethereum v1.10.16
.changeset/khaki-boxes-learn.md
0 → 100644
View file @
d567b7f4
---
'
@eth-optimism/batch-submitter-service'
:
patch
---
Update to go-ethereum v1.10.16
.changeset/lovely-shrimps-explain.md
0 → 100644
View file @
d567b7f4
---
'
@eth-optimism/batch-submitter-service'
:
patch
---
Refactors the bss-core service to use a metrics interface to allow
driver-specific metric extensions
.changeset/nasty-boats-type.md
0 → 100644
View file @
d567b7f4
---
'
@eth-optimism/l2geth'
:
patch
---
Don't block read rpc requests when syncing
.changeset/quick-tables-double.md
0 → 100644
View file @
d567b7f4
---
'
@eth-optimism/l2geth'
:
patch
---
Fix queue index comparison
.changeset/spotty-trains-sneeze.md
0 → 100644
View file @
d567b7f4
---
'
@eth-optimism/sdk'
:
patch
---
1.
Fix a bug in
`L2Provider.getL1GasPrice()`
2.
Make it easier to get correct estimates from
`L2Provider.estimateL1Gas()`
and
`L2.estimateL2GasCost`
.
go/batch-submitter/drivers/proposer/driver.go
View file @
d567b7f4
...
@@ -45,7 +45,7 @@ type Driver struct {
...
@@ -45,7 +45,7 @@ type Driver struct {
rawSccContract
*
bind
.
BoundContract
rawSccContract
*
bind
.
BoundContract
ctcContract
*
ctc
.
CanonicalTransactionChain
ctcContract
*
ctc
.
CanonicalTransactionChain
walletAddr
common
.
Address
walletAddr
common
.
Address
metrics
*
metrics
.
Metrics
metrics
*
metrics
.
Base
}
}
func
NewDriver
(
cfg
Config
)
(
*
Driver
,
error
)
{
func
NewDriver
(
cfg
Config
)
(
*
Driver
,
error
)
{
...
@@ -82,7 +82,7 @@ func NewDriver(cfg Config) (*Driver, error) {
...
@@ -82,7 +82,7 @@ func NewDriver(cfg Config) (*Driver, error) {
rawSccContract
:
rawSccContract
,
rawSccContract
:
rawSccContract
,
ctcContract
:
ctcContract
,
ctcContract
:
ctcContract
,
walletAddr
:
walletAddr
,
walletAddr
:
walletAddr
,
metrics
:
metrics
.
New
Metrics
(
cfg
.
Name
),
metrics
:
metrics
.
New
Base
(
"batch_submitter"
,
cfg
.
Name
),
},
nil
},
nil
}
}
...
@@ -97,7 +97,7 @@ func (d *Driver) WalletAddr() common.Address {
...
@@ -97,7 +97,7 @@ func (d *Driver) WalletAddr() common.Address {
}
}
// Metrics returns the subservice telemetry object.
// Metrics returns the subservice telemetry object.
func
(
d
*
Driver
)
Metrics
()
*
metrics
.
Metrics
{
func
(
d
*
Driver
)
Metrics
()
metrics
.
Metrics
{
return
d
.
metrics
return
d
.
metrics
}
}
...
@@ -184,7 +184,7 @@ func (d *Driver) CraftBatchTx(
...
@@ -184,7 +184,7 @@ func (d *Driver) CraftBatchTx(
stateRoots
=
append
(
stateRoots
,
block
.
Root
())
stateRoots
=
append
(
stateRoots
,
block
.
Root
())
}
}
d
.
metrics
.
NumElementsPerBatch
.
Observe
(
float64
(
len
(
stateRoots
)))
d
.
metrics
.
NumElementsPerBatch
()
.
Observe
(
float64
(
len
(
stateRoots
)))
log
.
Info
(
name
+
" batch constructed"
,
"num_state_roots"
,
len
(
stateRoots
))
log
.
Info
(
name
+
" batch constructed"
,
"num_state_roots"
,
len
(
stateRoots
))
...
...
go/batch-submitter/drivers/sequencer/driver.go
View file @
d567b7f4
...
@@ -44,7 +44,7 @@ type Driver struct {
...
@@ -44,7 +44,7 @@ type Driver struct {
rawCtcContract
*
bind
.
BoundContract
rawCtcContract
*
bind
.
BoundContract
walletAddr
common
.
Address
walletAddr
common
.
Address
ctcABI
*
abi
.
ABI
ctcABI
*
abi
.
ABI
metrics
*
metrics
.
Metrics
metrics
*
Metrics
}
}
func
NewDriver
(
cfg
Config
)
(
*
Driver
,
error
)
{
func
NewDriver
(
cfg
Config
)
(
*
Driver
,
error
)
{
...
@@ -80,7 +80,7 @@ func NewDriver(cfg Config) (*Driver, error) {
...
@@ -80,7 +80,7 @@ func NewDriver(cfg Config) (*Driver, error) {
rawCtcContract
:
rawCtcContract
,
rawCtcContract
:
rawCtcContract
,
walletAddr
:
walletAddr
,
walletAddr
:
walletAddr
,
ctcABI
:
ctcABI
,
ctcABI
:
ctcABI
,
metrics
:
metrics
.
NewMetrics
(
cfg
.
Name
),
metrics
:
NewMetrics
(
cfg
.
Name
),
},
nil
},
nil
}
}
...
@@ -95,7 +95,7 @@ func (d *Driver) WalletAddr() common.Address {
...
@@ -95,7 +95,7 @@ func (d *Driver) WalletAddr() common.Address {
}
}
// Metrics returns the subservice telemetry object.
// Metrics returns the subservice telemetry object.
func
(
d
*
Driver
)
Metrics
()
*
metrics
.
Metrics
{
func
(
d
*
Driver
)
Metrics
()
metrics
.
Metrics
{
return
d
.
metrics
return
d
.
metrics
}
}
...
@@ -219,7 +219,7 @@ func (d *Driver) CraftBatchTx(
...
@@ -219,7 +219,7 @@ func (d *Driver) CraftBatchTx(
continue
continue
}
}
d
.
metrics
.
NumElementsPerBatch
.
Observe
(
float64
(
len
(
batchElements
)))
d
.
metrics
.
NumElementsPerBatch
()
.
Observe
(
float64
(
len
(
batchElements
)))
d
.
metrics
.
BatchPruneCount
.
Set
(
float64
(
pruneCount
))
d
.
metrics
.
BatchPruneCount
.
Set
(
float64
(
pruneCount
))
log
.
Info
(
name
+
" batch constructed"
,
"num_txs"
,
len
(
batchElements
),
"length"
,
len
(
batchCallData
))
log
.
Info
(
name
+
" batch constructed"
,
"num_txs"
,
len
(
batchElements
),
"length"
,
len
(
batchCallData
))
...
...
go/batch-submitter/drivers/sequencer/metrics.go
0 → 100644
View file @
d567b7f4
package
sequencer
import
(
"github.com/ethereum-optimism/optimism/go/bss-core/metrics"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto"
)
// Metrics extends the BSS core metrics with additional metrics tracked by the
// sequencer driver.
type
Metrics
struct
{
*
metrics
.
Base
// BatchPruneCount tracks the number of times a batch of sequencer
// transactions is pruned in order to meet the desired size requirements.
BatchPruneCount
prometheus
.
Gauge
}
// NewMetrics initializes a new, extended metrics object.
func
NewMetrics
(
subsystem
string
)
*
Metrics
{
base
:=
metrics
.
NewBase
(
"batch_submitter"
,
subsystem
)
return
&
Metrics
{
Base
:
base
,
BatchPruneCount
:
promauto
.
NewGauge
(
prometheus
.
GaugeOpts
{
Name
:
"batch_prune_count"
,
Help
:
"Number of times a batch is pruned"
,
Subsystem
:
base
.
SubsystemName
(),
}),
}
}
go/batch-submitter/go.mod
View file @
d567b7f4
...
@@ -3,14 +3,12 @@ module github.com/ethereum-optimism/optimism/go/batch-submitter
...
@@ -3,14 +3,12 @@ module github.com/ethereum-optimism/optimism/go/batch-submitter
go 1.16
go 1.16
require (
require (
github.com/decred/dcrd/hdkeychain/v3 v3.0.0
github.com/ethereum-optimism/optimism/go/bss-core v0.0.0
github.com/ethereum-optimism/optimism/go/bss-core v0.0.0
github.com/ethereum-optimism/optimism/l2geth v1.0.0
github.com/ethereum-optimism/optimism/l2geth v1.0.0
github.com/ethereum/go-ethereum v1.10.1
2
github.com/ethereum/go-ethereum v1.10.1
6
github.com/getsentry/sentry-go v0.11.0
github.com/getsentry/sentry-go v0.11.0
github.com/prometheus/client_golang v1.11.0
github.com/prometheus/client_golang v1.11.0
github.com/stretchr/testify v1.7.0
github.com/stretchr/testify v1.7.0
github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef
github.com/urfave/cli v1.22.5
github.com/urfave/cli v1.22.5
)
)
...
...
go/batch-submitter/go.sum
View file @
d567b7f4
...
@@ -121,8 +121,9 @@ github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2
...
@@ -121,8 +121,9 @@ github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea h1:j4317fAZh7X6GqbFowYdYdI0L9bwxL07jyPZIdepyZ0=
github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ=
github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ=
github.com/deckarep/golang-set v1.8.0 h1:sk9/l/KqpunDwP7pSjUg0keiOOLEnOBHzykLrsPppp4=
github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo=
github.com/decred/base58 v1.0.3 h1:KGZuh8d1WEMIrK0leQRM47W85KqCAdl2N+uagbctdDI=
github.com/decred/base58 v1.0.3 h1:KGZuh8d1WEMIrK0leQRM47W85KqCAdl2N+uagbctdDI=
github.com/decred/base58 v1.0.3/go.mod h1:pXP9cXCfM2sFLb2viz2FNIdeMWmZDBKG3ZBYbiSM78E=
github.com/decred/base58 v1.0.3/go.mod h1:pXP9cXCfM2sFLb2viz2FNIdeMWmZDBKG3ZBYbiSM78E=
github.com/decred/dcrd/chaincfg/chainhash v1.0.2 h1:rt5Vlq/jM3ZawwiacWjPa+smINyLRN07EO0cNBV6DGU=
github.com/decred/dcrd/chaincfg/chainhash v1.0.2 h1:rt5Vlq/jM3ZawwiacWjPa+smINyLRN07EO0cNBV6DGU=
...
@@ -168,8 +169,9 @@ github.com/elastic/gosigar v0.8.1-0.20180330100440-37f05ff46ffa/go.mod h1:cdorVV
...
@@ -168,8 +169,9 @@ github.com/elastic/gosigar v0.8.1-0.20180330100440-37f05ff46ffa/go.mod h1:cdorVV
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw=
github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw=
github.com/ethereum/go-ethereum v1.10.12 h1:el/KddB3gLEsnNgGQ3SQuZuiZjwnFTYHe5TwUet5Om4=
github.com/ethereum/go-ethereum v1.10.12/go.mod h1:W3yfrFyL9C1pHcwY5hmRHVDaorTiQxhYBkKyu5mEDHw=
github.com/ethereum/go-ethereum v1.10.12/go.mod h1:W3yfrFyL9C1pHcwY5hmRHVDaorTiQxhYBkKyu5mEDHw=
github.com/ethereum/go-ethereum v1.10.16 h1:3oPrumn0bCW/idjcxMn5YYVCdK7VzJYIvwGZUGLEaoc=
github.com/ethereum/go-ethereum v1.10.16/go.mod h1:Anj6cxczl+AHy63o4X9O8yWNHuN5wMpfb8MAnHkWn7Y=
github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8=
github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
...
@@ -275,6 +277,7 @@ github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad
...
@@ -275,6 +277,7 @@ github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/graph-gophers/graphql-go v0.0.0-20201113091052-beb923fada29/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc=
github.com/graph-gophers/graphql-go v0.0.0-20201113091052-beb923fada29/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc=
github.com/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc=
github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE=
github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE=
github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0=
github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0=
github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
...
@@ -310,8 +313,9 @@ github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/
...
@@ -310,8 +313,9 @@ github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/
github.com/iris-contrib/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7UaeZTSWddIk=
github.com/iris-contrib/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7UaeZTSWddIk=
github.com/iris-contrib/pongo2 v0.0.1/go.mod h1:Ssh+00+3GAZqSQb30AvBRNxBx7rf0GqwkjqxNd0u65g=
github.com/iris-contrib/pongo2 v0.0.1/go.mod h1:Ssh+00+3GAZqSQb30AvBRNxBx7rf0GqwkjqxNd0u65g=
github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw=
github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw=
github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458 h1:6OvNmYgJyexcZ3pYbTI9jWx5tHo1Dee/tWbLMfPe2TA=
github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus=
github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
github.com/jarcoal/httpmock v1.0.8/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik=
github.com/jarcoal/httpmock v1.0.8/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik=
github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU=
github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU=
github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
...
@@ -334,6 +338,7 @@ github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E
...
@@ -334,6 +338,7 @@ github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E
github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0=
github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0=
github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k=
github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k=
github.com/karalabe/usb v0.0.0-20211005121534-4c5740d64559/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU=
github.com/karalabe/usb v0.0.0-20211005121534-4c5740d64559/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU=
github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU=
github.com/kataras/golog v0.0.10/go.mod h1:yJ8YKCmyL+nWjERB90Qwn+bdyBZsaQwU3bTVFgkFIp8=
github.com/kataras/golog v0.0.10/go.mod h1:yJ8YKCmyL+nWjERB90Qwn+bdyBZsaQwU3bTVFgkFIp8=
github.com/kataras/iris/v12 v12.1.8/go.mod h1:LMYy4VlP67TQ3Zgriz8RE2h2kMZV2SgMYbq3UhfoFmE=
github.com/kataras/iris/v12 v12.1.8/go.mod h1:LMYy4VlP67TQ3Zgriz8RE2h2kMZV2SgMYbq3UhfoFmE=
github.com/kataras/neffos v0.0.14/go.mod h1:8lqADm8PnbeFfL7CLXh1WHw53dG27MC3pgi2R1rmoTE=
github.com/kataras/neffos v0.0.14/go.mod h1:8lqADm8PnbeFfL7CLXh1WHw53dG27MC3pgi2R1rmoTE=
...
...
go/bss-core/metrics/interface.go
0 → 100644
View file @
d567b7f4
package
metrics
import
"github.com/prometheus/client_golang/prometheus"
type
Metrics
interface
{
// SubsystemName returns the subsystem name for the metrics group.
SubsystemName
()
string
// BalanceETH tracks the amount of ETH in the submitter's account.
BalanceETH
()
prometheus
.
Gauge
// BatchSizeBytes tracks the size of batch submission transactions.
BatchSizeBytes
()
prometheus
.
Summary
// NumElementsPerBatch tracks the number of L2 transactions in each batch
// submission.
NumElementsPerBatch
()
prometheus
.
Summary
// SubmissionTimestamp tracks the time at which each batch was confirmed.
SubmissionTimestamp
()
prometheus
.
Gauge
// SubmissionGasUsedWei tracks the amount of gas used to submit each batch.
SubmissionGasUsedWei
()
prometheus
.
Gauge
// BatchsSubmitted tracks the total number of successful batch submissions.
BatchesSubmitted
()
prometheus
.
Counter
// FailedSubmissions tracks the total number of failed batch submissions.
FailedSubmissions
()
prometheus
.
Counter
// BatchTxBuildTimeMs tracks the duration it takes to construct a batch
// transaction.
BatchTxBuildTimeMs
()
prometheus
.
Gauge
// BatchConfirmationTimeMs tracks the duration it takes to confirm a batch
// transaction.
BatchConfirmationTimeMs
()
prometheus
.
Gauge
}
go/bss-core/metrics/metrics.go
View file @
d567b7f4
package
metrics
package
metrics
import
(
import
(
"fmt"
"strings"
"strings"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto"
"github.com/prometheus/client_golang/prometheus/promauto"
)
)
type
Metrics
struct
{
type
Base
struct
{
// ETHBalance tracks the amount of ETH in the submitter's account.
// subsystemName stores the name that will prefix all metrics. This can be
ETHBalance
prometheus
.
Gauge
// used by drivers to futher extend the core metrics and ensure they use the
// same prefix.
subsystemName
string
//
BatchSizeInBytes tracks the size of batch submission transactions
.
//
balanceETH tracks the amount of ETH in the submitter's account
.
BatchSizeInBytes
prometheus
.
Summary
balanceETH
prometheus
.
Gauge
// NumElementsPerBatch tracks the number of L2 transactions in each batch
// batchSizeBytes tracks the size of batch submission transactions.
batchSizeBytes
prometheus
.
Summary
// numElementsPerBatch tracks the number of L2 transactions in each batch
// submission.
// submission.
N
umElementsPerBatch
prometheus
.
Summary
n
umElementsPerBatch
prometheus
.
Summary
//
S
ubmissionTimestamp tracks the time at which each batch was confirmed.
//
s
ubmissionTimestamp tracks the time at which each batch was confirmed.
S
ubmissionTimestamp
prometheus
.
Gauge
s
ubmissionTimestamp
prometheus
.
Gauge
//
SubmissionGasUsed
tracks the amount of gas used to submit each batch.
//
submissionGasUsedWei
tracks the amount of gas used to submit each batch.
SubmissionGasUsed
prometheus
.
Gauge
submissionGasUsedWei
prometheus
.
Gauge
//
B
atchsSubmitted tracks the total number of successful batch submissions.
//
b
atchsSubmitted tracks the total number of successful batch submissions.
B
atchesSubmitted
prometheus
.
Counter
b
atchesSubmitted
prometheus
.
Counter
//
F
ailedSubmissions tracks the total number of failed batch submissions.
//
f
ailedSubmissions tracks the total number of failed batch submissions.
F
ailedSubmissions
prometheus
.
Counter
f
ailedSubmissions
prometheus
.
Counter
//
BatchTxBuildTime
tracks the duration it takes to construct a batch
//
batchTxBuildTimeMs
tracks the duration it takes to construct a batch
// transaction.
// transaction.
BatchTxBuildTime
prometheus
.
Gauge
batchTxBuildTimeMs
prometheus
.
Gauge
//
BatchConfirmationTime
tracks the duration it takes to confirm a batch
//
batchConfirmationTimeMs
tracks the duration it takes to confirm a batch
// transaction.
// transaction.
BatchConfirmationTime
prometheus
.
Gauge
batchConfirmationTimeMs
prometheus
.
Gauge
// BatchPruneCount tracks the number of times a batch of sequencer
// transactions is pruned in order to meet the desired size requirements.
//
// NOTE: This is currently only active in the sequencer driver.
BatchPruneCount
prometheus
.
Gauge
}
}
func
NewMetrics
(
subsystem
string
)
*
Metrics
{
func
NewBase
(
serviceName
,
subServiceName
string
)
*
Base
{
subsystem
=
"batch_submitter_"
+
strings
.
ToLower
(
subsystem
)
subsystem
:=
MakeSubsystemName
(
serviceName
,
subServiceName
)
return
&
Metrics
{
return
&
Base
{
ETHBalance
:
promauto
.
NewGauge
(
prometheus
.
GaugeOpts
{
subsystemName
:
subsystem
,
balanceETH
:
promauto
.
NewGauge
(
prometheus
.
GaugeOpts
{
Name
:
"balance_eth"
,
Name
:
"balance_eth"
,
Help
:
"ETH balance of the batch submitter"
,
Help
:
"ETH balance of the batch submitter"
,
Subsystem
:
subsystem
,
Subsystem
:
subsystem
,
}),
}),
BatchSizeIn
Bytes
:
promauto
.
NewSummary
(
prometheus
.
SummaryOpts
{
batchSize
Bytes
:
promauto
.
NewSummary
(
prometheus
.
SummaryOpts
{
Name
:
"batch_size_bytes"
,
Name
:
"batch_size_bytes"
,
Help
:
"Size of batches in bytes"
,
Help
:
"Size of batches in bytes"
,
Subsystem
:
subsystem
,
Subsystem
:
subsystem
,
Objectives
:
map
[
float64
]
float64
{
0.5
:
0.05
,
0.9
:
0.01
,
0.99
:
0.001
},
Objectives
:
map
[
float64
]
float64
{
0.5
:
0.05
,
0.9
:
0.01
,
0.99
:
0.001
},
}),
}),
N
umElementsPerBatch
:
promauto
.
NewSummary
(
prometheus
.
SummaryOpts
{
n
umElementsPerBatch
:
promauto
.
NewSummary
(
prometheus
.
SummaryOpts
{
Name
:
"num_elements_per_batch"
,
Name
:
"num_elements_per_batch"
,
Help
:
"Number of elements in each batch"
,
Help
:
"Number of elements in each batch"
,
Objectives
:
map
[
float64
]
float64
{
0.5
:
0.05
,
0.9
:
0.01
,
0.99
:
0.001
},
Objectives
:
map
[
float64
]
float64
{
0.5
:
0.05
,
0.9
:
0.01
,
0.99
:
0.001
},
Subsystem
:
subsystem
,
Subsystem
:
subsystem
,
}),
}),
S
ubmissionTimestamp
:
promauto
.
NewGauge
(
prometheus
.
GaugeOpts
{
s
ubmissionTimestamp
:
promauto
.
NewGauge
(
prometheus
.
GaugeOpts
{
Name
:
"submission_timestamp_ms"
,
Name
:
"submission_timestamp_ms"
,
Help
:
"Timestamp of last batch submitter submission"
,
Help
:
"Timestamp of last batch submitter submission"
,
Subsystem
:
subsystem
,
Subsystem
:
subsystem
,
}),
}),
SubmissionGasUsed
:
promauto
.
NewGauge
(
prometheus
.
GaugeOpts
{
submissionGasUsedWei
:
promauto
.
NewGauge
(
prometheus
.
GaugeOpts
{
Name
:
"submission_gas_used_wei"
,
Name
:
"submission_gas_used_wei"
,
Help
:
"Gas used to submit each batch"
,
Help
:
"Gas used to submit each batch"
,
Subsystem
:
subsystem
,
Subsystem
:
subsystem
,
}),
}),
B
atchesSubmitted
:
promauto
.
NewCounter
(
prometheus
.
CounterOpts
{
b
atchesSubmitted
:
promauto
.
NewCounter
(
prometheus
.
CounterOpts
{
Name
:
"batches_submitted"
,
Name
:
"batches_submitted"
,
Help
:
"Count of batches submitted"
,
Help
:
"Count of batches submitted"
,
Subsystem
:
subsystem
,
Subsystem
:
subsystem
,
}),
}),
F
ailedSubmissions
:
promauto
.
NewCounter
(
prometheus
.
CounterOpts
{
f
ailedSubmissions
:
promauto
.
NewCounter
(
prometheus
.
CounterOpts
{
Name
:
"failed_submissions"
,
Name
:
"failed_submissions"
,
Help
:
"Count of failed batch submissions"
,
Help
:
"Count of failed batch submissions"
,
Subsystem
:
subsystem
,
Subsystem
:
subsystem
,
}),
}),
BatchTxBuildTime
:
promauto
.
NewGauge
(
prometheus
.
GaugeOpts
{
batchTxBuildTimeMs
:
promauto
.
NewGauge
(
prometheus
.
GaugeOpts
{
Name
:
"batch_tx_build_time_ms"
,
Name
:
"batch_tx_build_time_ms"
,
Help
:
"Time to construct batch transactions"
,
Help
:
"Time to construct batch transactions"
,
Subsystem
:
subsystem
,
Subsystem
:
subsystem
,
}),
}),
BatchConfirmationTime
:
promauto
.
NewGauge
(
prometheus
.
GaugeOpts
{
batchConfirmationTimeMs
:
promauto
.
NewGauge
(
prometheus
.
GaugeOpts
{
Name
:
"batch_confirmation_time_ms"
,
Name
:
"batch_confirmation_time_ms"
,
Help
:
"Time to confirm batch transactions"
,
Help
:
"Time to confirm batch transactions"
,
Subsystem
:
subsystem
,
Subsystem
:
subsystem
,
}),
}),
BatchPruneCount
:
promauto
.
NewGauge
(
prometheus
.
GaugeOpts
{
Name
:
"batch_prune_count"
,
Help
:
"Number of times a batch is pruned"
,
Subsystem
:
subsystem
,
}),
}
}
}
}
// SubsystemName returns the subsystem name for the metrics group.
func
(
b
*
Base
)
SubsystemName
()
string
{
return
b
.
subsystemName
}
// BalanceETH tracks the amount of ETH in the submitter's account.
func
(
b
*
Base
)
BalanceETH
()
prometheus
.
Gauge
{
return
b
.
balanceETH
}
// BatchSizeBytes tracks the size of batch submission transactions.
func
(
b
*
Base
)
BatchSizeBytes
()
prometheus
.
Summary
{
return
b
.
batchSizeBytes
}
// NumElementsPerBatch tracks the number of L2 transactions in each batch
// submission.
func
(
b
*
Base
)
NumElementsPerBatch
()
prometheus
.
Summary
{
return
b
.
numElementsPerBatch
}
// SubmissionTimestamp tracks the time at which each batch was confirmed.
func
(
b
*
Base
)
SubmissionTimestamp
()
prometheus
.
Gauge
{
return
b
.
submissionTimestamp
}
// SubmissionGasUsedWei tracks the amount of gas used to submit each batch.
func
(
b
*
Base
)
SubmissionGasUsedWei
()
prometheus
.
Gauge
{
return
b
.
submissionGasUsedWei
}
// BatchsSubmitted tracks the total number of successful batch submissions.
func
(
b
*
Base
)
BatchesSubmitted
()
prometheus
.
Counter
{
return
b
.
batchesSubmitted
}
// FailedSubmissions tracks the total number of failed batch submissions.
func
(
b
*
Base
)
FailedSubmissions
()
prometheus
.
Counter
{
return
b
.
failedSubmissions
}
// BatchTxBuildTimeMs tracks the duration it takes to construct a batch
// transaction.
func
(
b
*
Base
)
BatchTxBuildTimeMs
()
prometheus
.
Gauge
{
return
b
.
batchTxBuildTimeMs
}
// BatchConfirmationTimeMs tracks the duration it takes to confirm a batch
// transaction.
func
(
b
*
Base
)
BatchConfirmationTimeMs
()
prometheus
.
Gauge
{
return
b
.
batchConfirmationTimeMs
}
// MakeSubsystemName builds the subsystem name for a group of metrics, which
// prometheus will use to prefix all metrics in the group. If two non-empty
// strings are provided, they are joined with an underscore. If only one
// non-empty string is provided, that name will be used alone. Otherwise an
// empty string is returned after converting the characters to lower case.
//
// NOTE: This method panics if spaces are included in either string.
func
MakeSubsystemName
(
serviceName
string
,
subServiceName
string
)
string
{
var
subsystem
string
switch
{
case
serviceName
!=
""
&&
subServiceName
!=
""
:
subsystem
=
fmt
.
Sprintf
(
"%s_%s"
,
serviceName
,
subServiceName
)
case
serviceName
!=
""
:
subsystem
=
serviceName
default
:
subsystem
=
subServiceName
}
if
strings
.
ContainsAny
(
subsystem
,
" "
)
{
panic
(
fmt
.
Sprintf
(
"metrics name
\"
%s
\"
cannot have spaces"
,
subsystem
))
}
return
strings
.
ToLower
(
subsystem
)
}
go/bss-core/service.go
View file @
d567b7f4
...
@@ -31,7 +31,7 @@ type Driver interface {
...
@@ -31,7 +31,7 @@ type Driver interface {
WalletAddr
()
common
.
Address
WalletAddr
()
common
.
Address
// Metrics returns the subservice telemetry object.
// Metrics returns the subservice telemetry object.
Metrics
()
*
metrics
.
Metrics
Metrics
()
metrics
.
Metrics
// ClearPendingTx a publishes a transaction at the next available nonce in
// ClearPendingTx a publishes a transaction at the next available nonce in
// order to clear any transactions in the mempool left over from a prior
// order to clear any transactions in the mempool left over from a prior
...
@@ -83,7 +83,7 @@ type Service struct {
...
@@ -83,7 +83,7 @@ type Service struct {
cancel
func
()
cancel
func
()
txMgr
txmgr
.
TxManager
txMgr
txmgr
.
TxManager
metrics
*
metrics
.
Metrics
metrics
metrics
.
Metrics
wg
sync
.
WaitGroup
wg
sync
.
WaitGroup
}
}
...
@@ -147,7 +147,7 @@ func (s *Service) eventLoop() {
...
@@ -147,7 +147,7 @@ func (s *Service) eventLoop() {
log
.
Error
(
name
+
" unable to get current balance"
,
"err"
,
err
)
log
.
Error
(
name
+
" unable to get current balance"
,
"err"
,
err
)
continue
continue
}
}
s
.
metrics
.
ETHBalance
.
Set
(
weiToEth64
(
balance
))
s
.
metrics
.
BalanceETH
()
.
Set
(
weiToEth64
(
balance
))
// Determine the range of L2 blocks that the batch submitter has not
// Determine the range of L2 blocks that the batch submitter has not
// processed, and needs to take action on.
// processed, and needs to take action on.
...
@@ -186,7 +186,7 @@ func (s *Service) eventLoop() {
...
@@ -186,7 +186,7 @@ func (s *Service) eventLoop() {
continue
continue
}
}
batchTxBuildTime
:=
time
.
Since
(
batchTxBuildStart
)
/
time
.
Millisecond
batchTxBuildTime
:=
time
.
Since
(
batchTxBuildStart
)
/
time
.
Millisecond
s
.
metrics
.
BatchTxBuildTime
.
Set
(
float64
(
batchTxBuildTime
))
s
.
metrics
.
BatchTxBuildTime
Ms
()
.
Set
(
float64
(
batchTxBuildTime
))
// Record the size of the batch transaction.
// Record the size of the batch transaction.
var
txBuf
bytes
.
Buffer
var
txBuf
bytes
.
Buffer
...
@@ -194,7 +194,7 @@ func (s *Service) eventLoop() {
...
@@ -194,7 +194,7 @@ func (s *Service) eventLoop() {
log
.
Error
(
name
+
" unable to encode batch tx"
,
"err"
,
err
)
log
.
Error
(
name
+
" unable to encode batch tx"
,
"err"
,
err
)
continue
continue
}
}
s
.
metrics
.
BatchSize
InBytes
.
Observe
(
float64
(
len
(
txBuf
.
Bytes
())))
s
.
metrics
.
BatchSize
Bytes
()
.
Observe
(
float64
(
len
(
txBuf
.
Bytes
())))
// Construct the transaction submission clousure that will attempt
// Construct the transaction submission clousure that will attempt
// to send the next transaction at the given nonce and gas price.
// to send the next transaction at the given nonce and gas price.
...
@@ -214,7 +214,7 @@ func (s *Service) eventLoop() {
...
@@ -214,7 +214,7 @@ func (s *Service) eventLoop() {
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Error
(
name
+
" unable to publish batch tx"
,
log
.
Error
(
name
+
" unable to publish batch tx"
,
"err"
,
err
)
"err"
,
err
)
s
.
metrics
.
FailedSubmissions
.
Inc
()
s
.
metrics
.
FailedSubmissions
()
.
Inc
()
continue
continue
}
}
...
@@ -223,10 +223,10 @@ func (s *Service) eventLoop() {
...
@@ -223,10 +223,10 @@ func (s *Service) eventLoop() {
"tx_hash"
,
receipt
.
TxHash
)
"tx_hash"
,
receipt
.
TxHash
)
batchConfirmationTime
:=
time
.
Since
(
batchConfirmationStart
)
/
batchConfirmationTime
:=
time
.
Since
(
batchConfirmationStart
)
/
time
.
Millisecond
time
.
Millisecond
s
.
metrics
.
BatchConfirmationTime
.
Set
(
float64
(
batchConfirmationTime
))
s
.
metrics
.
BatchConfirmationTime
Ms
()
.
Set
(
float64
(
batchConfirmationTime
))
s
.
metrics
.
BatchesSubmitted
.
Inc
()
s
.
metrics
.
BatchesSubmitted
()
.
Inc
()
s
.
metrics
.
SubmissionGasUsed
.
Set
(
float64
(
receipt
.
GasUsed
))
s
.
metrics
.
SubmissionGasUsed
Wei
()
.
Set
(
float64
(
receipt
.
GasUsed
))
s
.
metrics
.
SubmissionTimestamp
.
Set
(
float64
(
time
.
Now
()
.
UnixNano
()
/
1e6
))
s
.
metrics
.
SubmissionTimestamp
()
.
Set
(
float64
(
time
.
Now
()
.
UnixNano
()
/
1e6
))
case
err
:=
<-
s
.
ctx
.
Done
()
:
case
err
:=
<-
s
.
ctx
.
Done
()
:
log
.
Error
(
name
+
" service shutting down"
,
"err"
,
err
)
log
.
Error
(
name
+
" service shutting down"
,
"err"
,
err
)
...
...
go/gas-oracle/go.mod
View file @
d567b7f4
...
@@ -3,6 +3,6 @@ module github.com/ethereum-optimism/optimism/go/gas-oracle
...
@@ -3,6 +3,6 @@ module github.com/ethereum-optimism/optimism/go/gas-oracle
go 1.16
go 1.16
require (
require (
github.com/ethereum/go-ethereum v1.10.1
0
github.com/ethereum/go-ethereum v1.10.1
6
github.com/urfave/cli v1.20.0
github.com/urfave/cli v1.20.0
)
)
go/gas-oracle/go.sum
View file @
d567b7f4
...
@@ -92,8 +92,8 @@ github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2
...
@@ -92,8 +92,8 @@ github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/deckarep/golang-set v
0.0.0-20180603214616-504e848d77ea h1:j4317fAZh7X6GqbFowYdYdI0L9bwxL07jyPZIdepyZ0
=
github.com/deckarep/golang-set v
1.8.0 h1:sk9/l/KqpunDwP7pSjUg0keiOOLEnOBHzykLrsPppp4
=
github.com/deckarep/golang-set v
0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ
=
github.com/deckarep/golang-set v
1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo
=
github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M=
github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M=
github.com/deepmap/oapi-codegen v1.8.2 h1:SegyeYGcdi0jLLrpbCMoJxnUUn8GBXHsvr4rbzjuhfU=
github.com/deepmap/oapi-codegen v1.8.2 h1:SegyeYGcdi0jLLrpbCMoJxnUUn8GBXHsvr4rbzjuhfU=
github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw=
github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw=
...
@@ -109,8 +109,8 @@ github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw=
...
@@ -109,8 +109,8 @@ github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw=
github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/ethereum/go-ethereum v1.10.1
0 h1:Ft2GcLQrr2M89l49g9NoqgNtJZ9AahzMb7N6VXKZy5U
=
github.com/ethereum/go-ethereum v1.10.1
6 h1:3oPrumn0bCW/idjcxMn5YYVCdK7VzJYIvwGZUGLEaoc
=
github.com/ethereum/go-ethereum v1.10.1
0/go.mod h1:W3yfrFyL9C1pHcwY5hmRHVDaorTiQxhYBkKyu5mEDHw
=
github.com/ethereum/go-ethereum v1.10.1
6/go.mod h1:Anj6cxczl+AHy63o4X9O8yWNHuN5wMpfb8MAnHkWn7Y
=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 h1:FtmdgXiUlNeRsoNMFlKLDt+S+6hbjVMEW6RGQ7aUf7c=
github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 h1:FtmdgXiUlNeRsoNMFlKLDt+S+6hbjVMEW6RGQ7aUf7c=
github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
...
@@ -191,7 +191,7 @@ github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORR
...
@@ -191,7 +191,7 @@ github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORR
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/graph-gophers/graphql-go v
0.0.0-20201113091052-beb923fada29
/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc=
github.com/graph-gophers/graphql-go v
1.3.0
/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc=
github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE=
github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE=
github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0=
github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
...
@@ -222,8 +222,8 @@ github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19y
...
@@ -222,8 +222,8 @@ github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19y
github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE=
github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE=
github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0=
github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0=
github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po=
github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po=
github.com/jackpal/go-nat-pmp v1.0.2
-0.20160603034137-1fa385a6f458 h1:6OvNmYgJyexcZ3pYbTI9jWx5tHo1Dee/tWbLMfPe2TA
=
github.com/jackpal/go-nat-pmp v1.0.2
h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus
=
github.com/jackpal/go-nat-pmp v1.0.2
-0.20160603034137-1fa385a6f458
/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU=
github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU=
github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
...
@@ -237,7 +237,7 @@ github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfV
...
@@ -237,7 +237,7 @@ github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfV
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0=
github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0=
github.com/karalabe/usb v0.0.
0-20211005121534-4c5740d64559
/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU=
github.com/karalabe/usb v0.0.
2
/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU=
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
...
...
go/proxyd/go.mod
View file @
d567b7f4
...
@@ -6,7 +6,7 @@ require (
...
@@ -6,7 +6,7 @@ require (
github.com/BurntSushi/toml v0.4.1
github.com/BurntSushi/toml v0.4.1
github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a // indirect
github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a // indirect
github.com/alicebob/miniredis v2.5.0+incompatible
github.com/alicebob/miniredis v2.5.0+incompatible
github.com/ethereum/go-ethereum v1.10.1
1
github.com/ethereum/go-ethereum v1.10.1
6
github.com/go-redis/redis/v8 v8.11.4
github.com/go-redis/redis/v8 v8.11.4
github.com/golang/snappy v0.0.4
github.com/golang/snappy v0.0.4
github.com/gomodule/redigo v1.8.8 // indirect
github.com/gomodule/redigo v1.8.8 // indirect
...
...
go/proxyd/go.sum
View file @
d567b7f4
...
@@ -102,8 +102,8 @@ github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2
...
@@ -102,8 +102,8 @@ github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/deckarep/golang-set v
0.0.0-20180603214616-504e848d77ea h1:j4317fAZh7X6GqbFowYdYdI0L9bwxL07jyPZIdepyZ0
=
github.com/deckarep/golang-set v
1.8.0 h1:sk9/l/KqpunDwP7pSjUg0keiOOLEnOBHzykLrsPppp4
=
github.com/deckarep/golang-set v
0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ
=
github.com/deckarep/golang-set v
1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo
=
github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M=
github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M=
github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw=
github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
...
@@ -120,8 +120,8 @@ github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw=
...
@@ -120,8 +120,8 @@ github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw=
github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/ethereum/go-ethereum v1.10.1
1 h1:KKIcwpmur9iTaVbR2dxlHu+peHVhU+/KX//NWvT1n9U
=
github.com/ethereum/go-ethereum v1.10.1
6 h1:3oPrumn0bCW/idjcxMn5YYVCdK7VzJYIvwGZUGLEaoc
=
github.com/ethereum/go-ethereum v1.10.1
1/go.mod h1:W3yfrFyL9C1pHcwY5hmRHVDaorTiQxhYBkKyu5mEDHw
=
github.com/ethereum/go-ethereum v1.10.1
6/go.mod h1:Anj6cxczl+AHy63o4X9O8yWNHuN5wMpfb8MAnHkWn7Y
=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 h1:FtmdgXiUlNeRsoNMFlKLDt+S+6hbjVMEW6RGQ7aUf7c=
github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 h1:FtmdgXiUlNeRsoNMFlKLDt+S+6hbjVMEW6RGQ7aUf7c=
github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
...
@@ -219,7 +219,7 @@ github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
...
@@ -219,7 +219,7 @@ github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/graph-gophers/graphql-go v
0.0.0-20201113091052-beb923fada29
/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc=
github.com/graph-gophers/graphql-go v
1.3.0
/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc=
github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE=
github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE=
github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0=
github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
...
@@ -247,8 +247,8 @@ github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19y
...
@@ -247,8 +247,8 @@ github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19y
github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE=
github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE=
github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0=
github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0=
github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po=
github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po=
github.com/jackpal/go-nat-pmp v1.0.2
-0.20160603034137-1fa385a6f458 h1:6OvNmYgJyexcZ3pYbTI9jWx5tHo1Dee/tWbLMfPe2TA
=
github.com/jackpal/go-nat-pmp v1.0.2
h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus
=
github.com/jackpal/go-nat-pmp v1.0.2
-0.20160603034137-1fa385a6f458
/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc=
github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU=
github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU=
github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
...
@@ -267,7 +267,7 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V
...
@@ -267,7 +267,7 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0=
github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0=
github.com/karalabe/usb v0.0.
0-20211005121534-4c5740d64559
/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU=
github.com/karalabe/usb v0.0.
2
/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU=
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
...
...
integration-tests/test/ovmcontext.spec.ts
View file @
d567b7f4
...
@@ -2,17 +2,11 @@
...
@@ -2,17 +2,11 @@
import
{
ethers
}
from
'
hardhat
'
import
{
ethers
}
from
'
hardhat
'
import
{
expectApprox
}
from
'
@eth-optimism/core-utils
'
import
{
expectApprox
}
from
'
@eth-optimism/core-utils
'
import
{
predeploys
}
from
'
@eth-optimism/contracts
'
import
{
predeploys
}
from
'
@eth-optimism/contracts
'
import
{
asL2Provider
}
from
'
@eth-optimism/sdk
'
import
{
Contract
,
BigNumber
}
from
'
ethers
'
import
{
Contract
,
BigNumber
}
from
'
ethers
'
/* Imports: Internal */
/* Imports: Internal */
import
{
expect
}
from
'
./shared/setup
'
import
{
expect
}
from
'
./shared/setup
'
import
{
import
{
envConfig
,
DEFAULT_TEST_GAS_L1
}
from
'
./shared/utils
'
l2Provider
,
l1Provider
,
envConfig
,
DEFAULT_TEST_GAS_L1
,
}
from
'
./shared/utils
'
import
{
OptimismEnv
}
from
'
./shared/env
'
import
{
OptimismEnv
}
from
'
./shared/env
'
/**
/**
...
@@ -21,7 +15,6 @@ import { OptimismEnv } from './shared/env'
...
@@ -21,7 +15,6 @@ import { OptimismEnv } from './shared/env'
* must be equal to the blocknumber/timestamp of the L1 transaction.
* must be equal to the blocknumber/timestamp of the L1 transaction.
*/
*/
describe
(
'
OVM Context: Layer 2 EVM Context
'
,
()
=>
{
describe
(
'
OVM Context: Layer 2 EVM Context
'
,
()
=>
{
const
L2Provider
=
asL2Provider
(
l2Provider
)
let
env
:
OptimismEnv
let
env
:
OptimismEnv
before
(
async
()
=>
{
before
(
async
()
=>
{
env
=
await
OptimismEnv
.
new
()
env
=
await
OptimismEnv
.
new
()
...
@@ -66,8 +59,10 @@ describe('OVM Context: Layer 2 EVM Context', () => {
...
@@ -66,8 +59,10 @@ describe('OVM Context: Layer 2 EVM Context', () => {
// Get the L1 block that the enqueue transaction was in so that
// Get the L1 block that the enqueue transaction was in so that
// the timestamp can be compared against the layer two contract
// the timestamp can be compared against the layer two contract
const
l1Block
=
await
l1Provider
.
getBlock
(
pair
.
receipt
.
blockNumber
)
const
l1Block
=
await
env
.
l1Provider
.
getBlock
(
pair
.
receipt
.
blockNumber
)
const
l2Block
=
await
l2Provider
.
getBlock
(
pair
.
remoteReceipt
.
blockNumber
)
const
l2Block
=
await
env
.
l2Provider
.
getBlock
(
pair
.
remoteReceipt
.
blockNumber
)
// block.number should return the value of the L2 block number.
// block.number should return the value of the L2 block number.
const
l2BlockNumber
=
await
OVMContextStorage
.
blockNumbers
(
i
)
const
l2BlockNumber
=
await
OVMContextStorage
.
blockNumbers
(
i
)
...
@@ -103,7 +98,7 @@ describe('OVM Context: Layer 2 EVM Context', () => {
...
@@ -103,7 +98,7 @@ describe('OVM Context: Layer 2 EVM Context', () => {
})
})
await
dummyTx
.
wait
()
await
dummyTx
.
wait
()
const
block
=
await
L
2Provider
.
getBlockWithTransactions
(
'
latest
'
)
const
block
=
await
env
.
l
2Provider
.
getBlockWithTransactions
(
'
latest
'
)
const
[,
returnData
]
=
await
Multicall
.
callStatic
.
aggregate
(
const
[,
returnData
]
=
await
Multicall
.
callStatic
.
aggregate
(
[
[
[
[
...
...
integration-tests/test/rpc.spec.ts
View file @
d567b7f4
This diff is collapsed.
Click to expand it.
integration-tests/test/whitelist.spec.ts
View file @
d567b7f4
...
@@ -6,7 +6,6 @@ import { predeploys } from '@eth-optimism/contracts'
...
@@ -6,7 +6,6 @@ import { predeploys } from '@eth-optimism/contracts'
/* Imports: Internal */
/* Imports: Internal */
import
{
expect
}
from
'
./shared/setup
'
import
{
expect
}
from
'
./shared/setup
'
import
{
OptimismEnv
}
from
'
./shared/env
'
import
{
OptimismEnv
}
from
'
./shared/env
'
import
{
l2Provider
}
from
'
./shared/utils
'
describe
(
'
Whitelist
'
,
async
()
=>
{
describe
(
'
Whitelist
'
,
async
()
=>
{
const
initialAmount
=
1000
const
initialAmount
=
1000
...
@@ -24,7 +23,7 @@ describe('Whitelist', async () => {
...
@@ -24,7 +23,7 @@ describe('Whitelist', async () => {
describe
(
'
when the whitelist is disabled
'
,
()
=>
{
describe
(
'
when the whitelist is disabled
'
,
()
=>
{
it
(
'
should be able to deploy a contract
'
,
async
()
=>
{
it
(
'
should be able to deploy a contract
'
,
async
()
=>
{
await
expect
(
await
expect
(
l2Provider
.
send
(
'
eth_call
'
,
[
env
.
l2Provider
.
send
(
'
eth_call
'
,
[
Factory__ERC20
.
getDeployTransaction
(
Factory__ERC20
.
getDeployTransaction
(
initialAmount
,
initialAmount
,
tokenName
,
tokenName
,
...
@@ -50,7 +49,7 @@ describe('Whitelist', async () => {
...
@@ -50,7 +49,7 @@ describe('Whitelist', async () => {
it
(
'
should fail if the user is not whitelisted
'
,
async
()
=>
{
it
(
'
should fail if the user is not whitelisted
'
,
async
()
=>
{
await
expect
(
await
expect
(
l2Provider
.
send
(
'
eth_call
'
,
[
env
.
l2Provider
.
send
(
'
eth_call
'
,
[
{
{
...
Factory__ERC20
.
getDeployTransaction
(
...
Factory__ERC20
.
getDeployTransaction
(
initialAmount
,
initialAmount
,
...
@@ -77,7 +76,7 @@ describe('Whitelist', async () => {
...
@@ -77,7 +76,7 @@ describe('Whitelist', async () => {
it
(
'
should succeed if the user is whitelisted
'
,
async
()
=>
{
it
(
'
should succeed if the user is whitelisted
'
,
async
()
=>
{
await
expect
(
await
expect
(
l2Provider
.
send
(
'
eth_call
'
,
[
env
.
l2Provider
.
send
(
'
eth_call
'
,
[
{
{
...
Factory__ERC20
.
getDeployTransaction
(
...
Factory__ERC20
.
getDeployTransaction
(
initialAmount
,
initialAmount
,
...
...
l2geth/core/state_transition.go
View file @
d567b7f4
...
@@ -186,15 +186,7 @@ func (st *StateTransition) buyGas() error {
...
@@ -186,15 +186,7 @@ func (st *StateTransition) buyGas() error {
}
}
}
}
if
st
.
state
.
GetBalance
(
st
.
msg
.
From
())
.
Cmp
(
mgval
)
<
0
{
if
st
.
state
.
GetBalance
(
st
.
msg
.
From
())
.
Cmp
(
mgval
)
<
0
{
if
rcfg
.
UsingOVM
{
return
errInsufficientBalanceForGas
// Hack to prevent race conditions with the `gas-oracle`
// where policy level balance checks pass and then fail
// during consensus. The user gets some free gas
// in this case.
mgval
=
st
.
state
.
GetBalance
(
st
.
msg
.
From
())
}
else
{
return
errInsufficientBalanceForGas
}
}
}
if
err
:=
st
.
gp
.
SubGas
(
st
.
msg
.
Gas
());
err
!=
nil
{
if
err
:=
st
.
gp
.
SubGas
(
st
.
msg
.
Gas
());
err
!=
nil
{
return
err
return
err
...
...
l2geth/internal/ethapi/api.go
View file @
d567b7f4
...
@@ -52,6 +52,7 @@ import (
...
@@ -52,6 +52,7 @@ import (
var
(
var
(
errNoSequencerURL
=
errors
.
New
(
"sequencer transaction forwarding not configured"
)
errNoSequencerURL
=
errors
.
New
(
"sequencer transaction forwarding not configured"
)
errStillSyncing
=
errors
.
New
(
"sequencer still syncing, cannot accept transactions"
)
)
)
const
(
const
(
...
@@ -1611,6 +1612,12 @@ func (args *SendTxArgs) toTransaction() *types.Transaction {
...
@@ -1611,6 +1612,12 @@ func (args *SendTxArgs) toTransaction() *types.Transaction {
// SubmitTransaction is a helper function that submits tx to txPool and logs a message.
// SubmitTransaction is a helper function that submits tx to txPool and logs a message.
func
SubmitTransaction
(
ctx
context
.
Context
,
b
Backend
,
tx
*
types
.
Transaction
)
(
common
.
Hash
,
error
)
{
func
SubmitTransaction
(
ctx
context
.
Context
,
b
Backend
,
tx
*
types
.
Transaction
)
(
common
.
Hash
,
error
)
{
// Do not accept transactions if running as the sequencer and
// the node is still syncing.
if
!
b
.
IsVerifier
()
&&
b
.
IsSyncing
()
{
return
common
.
Hash
{},
errStillSyncing
}
if
err
:=
b
.
SendTx
(
ctx
,
tx
);
err
!=
nil
{
if
err
:=
b
.
SendTx
(
ctx
,
tx
);
err
!=
nil
{
return
common
.
Hash
{},
err
return
common
.
Hash
{},
err
}
}
...
...
l2geth/rollup/sync_service.go
View file @
d567b7f4
...
@@ -245,17 +245,16 @@ func (s *SyncService) Start() error {
...
@@ -245,17 +245,16 @@ func (s *SyncService) Start() error {
if
s
.
verifier
{
if
s
.
verifier
{
go
s
.
VerifierLoop
()
go
s
.
VerifierLoop
()
}
else
{
}
else
{
// The sequencer must sync the transactions to the tip and the
go
func
()
{
// pending queue transactions on start before setting sync status
if
err
:=
s
.
syncTransactionsToTip
();
err
!=
nil
{
// to false and opening up the RPC to accept transactions.
log
.
Crit
(
"Sequencer cannot sync transactions to tip: %w"
,
err
)
if
err
:=
s
.
syncTransactionsToTip
();
err
!=
nil
{
}
return
fmt
.
Errorf
(
"Sequencer cannot sync transactions to tip: %w"
,
err
)
if
err
:=
s
.
syncQueueToTip
();
err
!=
nil
{
}
log
.
Crit
(
"Sequencer cannot sync queue to tip: %w"
,
err
)
if
err
:=
s
.
syncQueueToTip
();
err
!=
nil
{
}
return
fmt
.
Errorf
(
"Sequencer cannot sync queue to tip: %w"
,
err
)
s
.
setSyncStatus
(
false
)
}
go
s
.
SequencerLoop
()
s
.
setSyncStatus
(
false
)
}()
go
s
.
SequencerLoop
()
}
}
return
nil
return
nil
}
}
...
@@ -348,10 +347,10 @@ func (s *SyncService) initializeLatestL1(ctcDeployHeight *big.Int) error {
...
@@ -348,10 +347,10 @@ func (s *SyncService) initializeLatestL1(ctcDeployHeight *big.Int) error {
qi
:=
tx
.
GetMeta
()
.
QueueIndex
qi
:=
tx
.
GetMeta
()
.
QueueIndex
// When the queue index is set
// When the queue index is set
if
qi
!=
nil
{
if
qi
!=
nil
{
if
qi
==
queueIndex
{
if
*
qi
==
*
queueIndex
{
log
.
Info
(
"Found correct staring queue index"
,
"queue-index"
,
qi
)
log
.
Info
(
"Found correct staring queue index"
,
"queue-index"
,
*
qi
)
}
else
{
}
else
{
log
.
Info
(
"Found incorrect staring queue index, fixing"
,
"old"
,
queueIndex
,
"new"
,
qi
)
log
.
Info
(
"Found incorrect staring queue index, fixing"
,
"old"
,
*
queueIndex
,
"new"
,
*
qi
)
queueIndex
=
qi
queueIndex
=
qi
}
}
break
break
...
...
ops/docker/Dockerfile.replica-healthcheck
View file @
d567b7f4
...
@@ -12,6 +12,8 @@ COPY --from=builder /optimism/yarn.lock .
...
@@ -12,6 +12,8 @@ COPY --from=builder /optimism/yarn.lock .
COPY --from=builder /optimism/node_modules ./node_modules
COPY --from=builder /optimism/node_modules ./node_modules
# copy deps (would have been nice if docker followed the symlinks required)
# copy deps (would have been nice if docker followed the symlinks required)
COPY --from=builder /optimism/packages/sdk/package.json ./packages/sdk/package.json
COPY --from=builder /optimism/packages/sdk/dist ./packages/sdk/dist
COPY --from=builder /optimism/packages/core-utils/package.json ./packages/core-utils/package.json
COPY --from=builder /optimism/packages/core-utils/package.json ./packages/core-utils/package.json
COPY --from=builder /optimism/packages/core-utils/dist ./packages/core-utils/dist
COPY --from=builder /optimism/packages/core-utils/dist ./packages/core-utils/dist
COPY --from=builder /optimism/packages/common-ts/package.json ./packages/common-ts/package.json
COPY --from=builder /optimism/packages/common-ts/package.json ./packages/common-ts/package.json
...
...
ops/envs/dtl.env
View file @
d567b7f4
...
@@ -9,7 +9,6 @@ DATA_TRANSPORT_LAYER__LOGS_PER_POLLING_INTERVAL=2000
...
@@ -9,7 +9,6 @@ DATA_TRANSPORT_LAYER__LOGS_PER_POLLING_INTERVAL=2000
DATA_TRANSPORT_LAYER__DANGEROUSLY_CATCH_ALL_ERRORS=true
DATA_TRANSPORT_LAYER__DANGEROUSLY_CATCH_ALL_ERRORS=true
DATA_TRANSPORT_LAYER__SERVER_HOSTNAME=0.0.0.0
DATA_TRANSPORT_LAYER__SERVER_HOSTNAME=0.0.0.0
DATA_TRANSPORT_LAYER__L1_START_HEIGHT=1
DATA_TRANSPORT_LAYER__L1_START_HEIGHT=1
DATA_TRANSPORT_LAYER__BSS_HARDFORK_1_INDEX=0
DATA_TRANSPORT_LAYER__ADDRESS_MANAGER=
DATA_TRANSPORT_LAYER__ADDRESS_MANAGER=
DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT=
DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT=
...
...
packages/contracts/deploy/011-set-addresses.ts
View file @
d567b7f4
...
@@ -74,7 +74,10 @@ const deployFn: DeployFunction = async (hre) => {
...
@@ -74,7 +74,10 @@ const deployFn: DeployFunction = async (hre) => {
// Check if if we're on the hardhat chain ID. This will only happen in CI. If this is the case, we
// Check if if we're on the hardhat chain ID. This will only happen in CI. If this is the case, we
// can skip directly to transferring ownership over to the ChugSplashDictator contract.
// can skip directly to transferring ownership over to the ChugSplashDictator contract.
if
(
await
isHardhatNode
(
hre
))
{
if
(
(
await
isHardhatNode
(
hre
))
||
process
.
env
.
AUTOMATICALLY_TRANSFER_OWNERSHIP
===
'
true
'
)
{
const
owner
=
await
hre
.
ethers
.
getSigner
(
currentOwner
)
const
owner
=
await
hre
.
ethers
.
getSigner
(
currentOwner
)
await
Lib_AddressManager
.
connect
(
owner
).
transferOwnership
(
await
Lib_AddressManager
.
connect
(
owner
).
transferOwnership
(
AddressDictator
.
address
AddressDictator
.
address
...
...
packages/contracts/deploy/014-OVM_L1StandardBridge.deploy.ts
View file @
d567b7f4
...
@@ -86,7 +86,10 @@ const deployFn: DeployFunction = async (hre) => {
...
@@ -86,7 +86,10 @@ const deployFn: DeployFunction = async (hre) => {
// Check if if we're on the hardhat chain ID. This will only happen in CI. If this is the case, we
// Check if if we're on the hardhat chain ID. This will only happen in CI. If this is the case, we
// can skip directly to transferring ownership over to the ChugSplashDictator contract.
// can skip directly to transferring ownership over to the ChugSplashDictator contract.
if
(
await
isHardhatNode
(
hre
))
{
if
(
(
await
isHardhatNode
(
hre
))
||
process
.
env
.
AUTOMATICALLY_TRANSFER_OWNERSHIP
===
'
true
'
)
{
const
owner
=
await
hre
.
ethers
.
getSigner
(
currentOwner
)
const
owner
=
await
hre
.
ethers
.
getSigner
(
currentOwner
)
await
Proxy__OVM_L1StandardBridge
.
connect
(
owner
).
setOwner
(
await
Proxy__OVM_L1StandardBridge
.
connect
(
owner
).
setOwner
(
ChugSplashDictator
.
address
ChugSplashDictator
.
address
...
...
packages/data-transport-layer/src/config/chain-constants.ts
0 → 100644
View file @
d567b7f4
export
const
BSS_HF1_INDEX
=
{
10
:
2824317
,
}
packages/data-transport-layer/src/config/index.ts
0 → 100644
View file @
d567b7f4
export
*
from
'
./chain-constants
'
export
*
from
'
./patch-contexts
'
packages/data-transport-layer/src/config/patch-contexts.ts
0 → 100644
View file @
d567b7f4
export
const
PATCH_CONTEXTS
=
{
10
:
{
2817218
:
1643139411
,
2817287
:
1643139718
,
2817898
:
1643140952
,
2818512
:
1643141859
,
2818984
:
1643142762
,
2819864
:
1643144275
,
2820902
:
1643146079
,
2821157
:
1643146389
,
2821170
:
1643146389
,
2821339
:
1643146689
,
2821772
:
1643147604
,
2821814
:
1643147909
,
2821952
:
1643147909
,
2822262
:
1643148824
,
2822342
:
1643149130
,
2822425
:
1643149130
,
2822602
:
1643149430
,
2822742
:
1643149733
,
2822987
:
1643150660
,
2822999
:
1643150660
,
2823039
:
1643150964
,
2823046
:
1643150964
,
2823055
:
1643150964
,
2823096
:
1643151269
,
2823205
:
1643151572
,
2823260
:
1643151572
,
2823306
:
1643151572
,
2823322
:
1643151572
,
2823413
:
1643151872
,
2823419
:
1643151872
,
2823460
:
1643151872
,
2823561
:
1643152174
,
2823592
:
1643152174
,
2824036
:
1643152774
,
2824050
:
1643153075
,
2824107
:
1643153075
,
2824247
:
1643153376
,
2832642
:
1643173416
,
2835330
:
1643181396
,
2838173
:
1643188371
,
2838174
:
1643188371
,
2838175
:
1643188371
,
2840388
:
1643192601
,
2844171
:
1643202366
,
2845370
:
1643204181
,
2845931
:
1643205096
,
2846484
:
1643205696
,
2894118
:
1643281866
,
2894119
:
1643281866
,
2959506
:
1643399826
,
2967959
:
1643419611
,
2971530
:
1643432181
,
2974571
:
1643443881
,
2981176
:
1643465226
,
2984205
:
1643470986
,
2995760
:
1643498166
,
2996847
:
1643501211
,
2997086
:
1643501811
,
2997087
:
1643501811
,
2997569
:
1643503026
,
2998970
:
1643506101
,
3000041
:
1643510376
,
3000042
:
1643510376
,
3000973
:
1643514306
,
3001008
:
1643514606
,
3001009
:
1643514606
,
3002529
:
1643520081
,
3008446
:
1643541501
,
3009141
:
1643543016
,
3012287
:
1643551521
,
3012348
:
1643551821
,
3022052
:
1643574336
,
3042815
:
1643624616
,
3043000
:
1643625516
,
3060328
:
1643656446
,
3060471
:
1643656746
,
3064982
:
1643667996
,
3070655
:
1643683461
,
},
}
packages/data-transport-layer/src/db/transport-db.ts
View file @
d567b7f4
...
@@ -4,6 +4,7 @@ import { BigNumber } from 'ethers'
...
@@ -4,6 +4,7 @@ import { BigNumber } from 'ethers'
/* Imports: Internal */
/* Imports: Internal */
import
{
SimpleDB
}
from
'
./simple-db
'
import
{
SimpleDB
}
from
'
./simple-db
'
import
{
PATCH_CONTEXTS
,
BSS_HF1_INDEX
}
from
'
../config
'
import
{
import
{
EnqueueEntry
,
EnqueueEntry
,
StateRootBatchEntry
,
StateRootBatchEntry
,
...
@@ -32,7 +33,7 @@ interface Indexed {
...
@@ -32,7 +33,7 @@ interface Indexed {
}
}
interface
ExtraTransportDBOptions
{
interface
ExtraTransportDBOptions
{
bssHardfork1Index
?:
number
l2ChainId
?:
number
}
}
export
class
TransportDB
{
export
class
TransportDB
{
...
@@ -300,13 +301,19 @@ export class TransportDB {
...
@@ -300,13 +301,19 @@ export class TransportDB {
}
}
let
timestamp
=
enqueue
.
timestamp
let
timestamp
=
enqueue
.
timestamp
if
(
typeof
this
.
opts
.
bssHardfork1Index
===
'
number
'
&&
// BSS HF1 activates at block 0 if not specified.
transaction
.
index
>=
this
.
opts
.
bssHardfork1Index
const
bssHf1Index
=
BSS_HF1_INDEX
[
this
.
opts
.
l2ChainId
]
||
0
)
{
if
(
transaction
.
index
>=
bssHf1Index
)
{
timestamp
=
transaction
.
timestamp
timestamp
=
transaction
.
timestamp
}
}
// Override with patch contexts if necessary
const
contexts
=
PATCH_CONTEXTS
[
this
.
opts
.
l2ChainId
]
if
(
contexts
&&
contexts
[
transaction
.
index
+
1
])
{
timestamp
=
contexts
[
transaction
.
index
+
1
]
}
return
{
return
{
...
transaction
,
...
transaction
,
...{
...{
...
...
packages/data-transport-layer/src/services/l1-ingestion/service.ts
View file @
d567b7f4
...
@@ -108,7 +108,7 @@ export class L1IngestionService extends BaseService<L1IngestionServiceOptions> {
...
@@ -108,7 +108,7 @@ export class L1IngestionService extends BaseService<L1IngestionServiceOptions> {
protected
async
_init
():
Promise
<
void
>
{
protected
async
_init
():
Promise
<
void
>
{
this
.
state
.
db
=
new
TransportDB
(
this
.
options
.
db
,
{
this
.
state
.
db
=
new
TransportDB
(
this
.
options
.
db
,
{
bssHardfork1Index
:
this
.
options
.
bssHardfork1Index
,
l2ChainId
:
this
.
options
.
l2ChainId
,
})
})
this
.
l1IngestionMetrics
=
registerMetrics
(
this
.
metrics
)
this
.
l1IngestionMetrics
=
registerMetrics
(
this
.
metrics
)
...
...
packages/data-transport-layer/src/services/l2-ingestion/service.ts
View file @
d567b7f4
...
@@ -86,7 +86,7 @@ export class L2IngestionService extends BaseService<L2IngestionServiceOptions> {
...
@@ -86,7 +86,7 @@ export class L2IngestionService extends BaseService<L2IngestionServiceOptions> {
this
.
l2IngestionMetrics
=
registerMetrics
(
this
.
metrics
)
this
.
l2IngestionMetrics
=
registerMetrics
(
this
.
metrics
)
this
.
state
.
db
=
new
TransportDB
(
this
.
options
.
db
,
{
this
.
state
.
db
=
new
TransportDB
(
this
.
options
.
db
,
{
bssHardfork1Index
:
this
.
options
.
bssHardfork1Index
,
l2ChainId
:
this
.
options
.
l2ChainId
,
})
})
this
.
state
.
l2RpcProvider
=
this
.
state
.
l2RpcProvider
=
...
...
packages/data-transport-layer/src/services/main/service.ts
View file @
d567b7f4
...
@@ -9,6 +9,7 @@ import { L1IngestionService } from '../l1-ingestion/service'
...
@@ -9,6 +9,7 @@ import { L1IngestionService } from '../l1-ingestion/service'
import
{
L1TransportServer
}
from
'
../server/service
'
import
{
L1TransportServer
}
from
'
../server/service
'
import
{
validators
}
from
'
../../utils
'
import
{
validators
}
from
'
../../utils
'
import
{
L2IngestionService
}
from
'
../l2-ingestion/service
'
import
{
L2IngestionService
}
from
'
../l2-ingestion/service
'
import
{
BSS_HF1_INDEX
}
from
'
../../config
'
export
interface
L1DataTransportServiceOptions
{
export
interface
L1DataTransportServiceOptions
{
nodeEnv
:
string
nodeEnv
:
string
...
@@ -36,7 +37,6 @@ export interface L1DataTransportServiceOptions {
...
@@ -36,7 +37,6 @@ export interface L1DataTransportServiceOptions {
defaultBackend
:
string
defaultBackend
:
string
l1GasPriceBackend
:
string
l1GasPriceBackend
:
string
l1StartHeight
?:
number
l1StartHeight
?:
number
bssHardfork1Index
?:
number
}
}
const
optionSettings
=
{
const
optionSettings
=
{
...
@@ -68,15 +68,14 @@ export class L1DataTransportService extends BaseService<L1DataTransportServiceOp
...
@@ -68,15 +68,14 @@ export class L1DataTransportService extends BaseService<L1DataTransportServiceOp
protected
async
_init
():
Promise
<
void
>
{
protected
async
_init
():
Promise
<
void
>
{
this
.
logger
.
info
(
'
Initializing L1 Data Transport Service...
'
)
this
.
logger
.
info
(
'
Initializing L1 Data Transport Service...
'
)
if
(
this
.
options
.
bssHardfork1Index
!==
null
&&
this
.
options
.
bssHardfork1Index
!==
undefined
)
{
this
.
logger
.
info
(
`BSS HF1 is active at block:
${
this
.
options
.
bssHardfork1Index
}
`
)
}
else
{
this
.
logger
.
info
(
`BSS HF1 is not active`
)
}
this
.
state
.
db
=
level
(
this
.
options
.
dbPath
)
this
.
state
.
db
=
level
(
this
.
options
.
dbPath
)
await
this
.
state
.
db
.
open
()
await
this
.
state
.
db
.
open
()
// BSS HF1 activates at block 0 if not specified.
const
bssHf1Index
=
BSS_HF1_INDEX
[
this
.
options
.
l2ChainId
]
||
0
this
.
logger
.
info
(
`L2 chain ID is:
${
this
.
options
.
l2ChainId
}
`
)
this
.
logger
.
info
(
`BSS HF1 will activate at:
${
bssHf1Index
}
`
)
this
.
state
.
metrics
=
new
Metrics
({
this
.
state
.
metrics
=
new
Metrics
({
labels
:
{
labels
:
{
environment
:
this
.
options
.
nodeEnv
,
environment
:
this
.
options
.
nodeEnv
,
...
...
packages/data-transport-layer/src/services/run.ts
View file @
d567b7f4
...
@@ -51,7 +51,6 @@ type ethNetwork = 'mainnet' | 'kovan' | 'goerli'
...
@@ -51,7 +51,6 @@ type ethNetwork = 'mainnet' | 'kovan' | 'goerli'
useSentry
:
config
.
bool
(
'
use-sentry
'
,
false
),
useSentry
:
config
.
bool
(
'
use-sentry
'
,
false
),
sentryDsn
:
config
.
str
(
'
sentry-dsn
'
),
sentryDsn
:
config
.
str
(
'
sentry-dsn
'
),
sentryTraceRate
:
config
.
ufloat
(
'
sentry-trace-rate
'
,
0.05
),
sentryTraceRate
:
config
.
ufloat
(
'
sentry-trace-rate
'
,
0.05
),
bssHardfork1Index
:
config
.
uint
(
'
bss-hardfork-1-index
'
,
null
),
})
})
const
stop
=
async
(
signal
)
=>
{
const
stop
=
async
(
signal
)
=>
{
...
...
packages/data-transport-layer/src/services/server/service.ts
View file @
d567b7f4
...
@@ -88,7 +88,7 @@ export class L1TransportServer extends BaseService<L1TransportServerOptions> {
...
@@ -88,7 +88,7 @@ export class L1TransportServer extends BaseService<L1TransportServerOptions> {
}
}
this
.
state
.
db
=
new
TransportDB
(
this
.
options
.
db
,
{
this
.
state
.
db
=
new
TransportDB
(
this
.
options
.
db
,
{
bssHardfork1Index
:
this
.
options
.
bssHardfork1Index
,
l2ChainId
:
this
.
options
.
l2ChainId
,
})
})
this
.
state
.
l1RpcProvider
=
this
.
state
.
l1RpcProvider
=
...
...
packages/sdk/src/l2-provider.ts
View file @
d567b7f4
...
@@ -31,7 +31,7 @@ export const getL1GasPrice = async (
...
@@ -31,7 +31,7 @@ export const getL1GasPrice = async (
l2Provider
:
ProviderLike
l2Provider
:
ProviderLike
):
Promise
<
BigNumber
>
=>
{
):
Promise
<
BigNumber
>
=>
{
const
gpo
=
connectGasPriceOracle
(
l2Provider
)
const
gpo
=
connectGasPriceOracle
(
l2Provider
)
return
gpo
.
gasPric
e
()
return
gpo
.
l1BaseFe
e
()
}
}
/**
/**
...
@@ -48,7 +48,11 @@ export const estimateL1Gas = async (
...
@@ -48,7 +48,11 @@ export const estimateL1Gas = async (
const
gpo
=
connectGasPriceOracle
(
l2Provider
)
const
gpo
=
connectGasPriceOracle
(
l2Provider
)
return
gpo
.
getL1GasUsed
(
return
gpo
.
getL1GasUsed
(
serialize
({
serialize
({
...
tx
,
data
:
tx
.
data
,
to
:
tx
.
to
,
gasPrice
:
tx
.
gasPrice
,
type
:
tx
.
type
,
gasLimit
:
tx
.
gasLimit
,
nonce
:
toNumber
(
tx
.
nonce
as
NumberLike
),
nonce
:
toNumber
(
tx
.
nonce
as
NumberLike
),
})
})
)
)
...
@@ -68,7 +72,11 @@ export const estimateL1GasCost = async (
...
@@ -68,7 +72,11 @@ export const estimateL1GasCost = async (
const
gpo
=
connectGasPriceOracle
(
l2Provider
)
const
gpo
=
connectGasPriceOracle
(
l2Provider
)
return
gpo
.
getL1Fee
(
return
gpo
.
getL1Fee
(
serialize
({
serialize
({
...
tx
,
data
:
tx
.
data
,
to
:
tx
.
to
,
gasPrice
:
tx
.
gasPrice
,
type
:
tx
.
type
,
gasLimit
:
tx
.
gasLimit
,
nonce
:
toNumber
(
tx
.
nonce
as
NumberLike
),
nonce
:
toNumber
(
tx
.
nonce
as
NumberLike
),
})
})
)
)
...
...
yarn.lock
View file @
d567b7f4
...
@@ -7860,9 +7860,9 @@ fmix@^0.1.0:
...
@@ -7860,9 +7860,9 @@ fmix@^0.1.0:
imul "^1.0.0"
imul "^1.0.0"
follow-redirects@^1.12.1, follow-redirects@^1.14.0:
follow-redirects@^1.12.1, follow-redirects@^1.14.0:
version "1.14.
7
"
version "1.14.
8
"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.
7.tgz#2004c02eb9436eee9a21446a6477debf17e81685
"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.
8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc
"
integrity sha512-
+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ
==
integrity sha512-
1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA
==
for-each@^0.3.3, for-each@~0.3.3:
for-each@^0.3.3, for-each@~0.3.3:
version "0.3.3"
version "0.3.3"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment