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
3c5aee9c
Unverified
Commit
3c5aee9c
authored
Jun 06, 2022
by
Mark Tyneway
Committed by
GitHub
Jun 06, 2022
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into feat/mergify-loop
parents
e86a8368
6442ddcf
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
259 additions
and
28 deletions
+259
-28
red-eyes-sparkle.md
.changeset/red-eyes-sparkle.md
+0
-5
tricky-hotels-crash.md
.changeset/tricky-hotels-crash.md
+0
-5
Makefile
Makefile
+3
-3
docker-compose.yml
ops-bedrock/docker-compose.yml
+1
-1
CHANGELOG.md
packages/contracts-bedrock/CHANGELOG.md
+6
-0
package.json
packages/contracts-bedrock/package.json
+1
-1
2022-05-31-drop-1.md
technical-documents/postmortems/2022-05-31-drop-1.md
+164
-0
CHANGELOG.md
teleportr/CHANGELOG.md
+7
-0
driver.go
teleportr/drivers/disburser/driver.go
+65
-11
metrics.go
teleportr/drivers/disburser/metrics.go
+9
-0
package.json
teleportr/package.json
+1
-1
teleportr.go
teleportr/teleportr.go
+2
-1
No files found.
.changeset/red-eyes-sparkle.md
deleted
100644 → 0
View file @
e86a8368
---
---
chore(deps): bump github.com/ethereum/go-ethereum from 1.10.16 to 1.10.17 in /op-exporter
.changeset/tricky-hotels-crash.md
deleted
100644 → 0
View file @
e86a8368
---
'
@eth-optimism/contracts-bedrock'
:
patch
---
Move core-utils to deps instead of devdeps
Makefile
View file @
3c5aee9c
...
@@ -59,9 +59,9 @@ devnet-clean:
...
@@ -59,9 +59,9 @@ devnet-clean:
rm
-rf
./packages/contracts-bedrock/deployments/devnetL1
rm
-rf
./packages/contracts-bedrock/deployments/devnetL1
rm
-rf
./.devnet
rm
-rf
./.devnet
cd
./ops-bedrock
&&
docker-compose down
cd
./ops-bedrock
&&
docker-compose down
docker
volume
rm
ops-bedrock_l1_data
docker
image
ls
|
grep
ops-bedrock_ |
cut
-d
' '
-f
1 | xargs docker rmi
docker volume
rm
ops-bedrock_l2_data
docker volume
ls
|
grep
ops-bedrock_ |
cut
-d
' '
-f
1 | xargs docker volume
rm
docker volume
rm
ops-bedrock_op_log
.PHONY
:
devnet-clean
.PHONY
:
devnet-clean
test-unit
:
test-unit
:
...
...
ops-bedrock/docker-compose.yml
View file @
3c5aee9c
...
@@ -34,7 +34,7 @@ services:
...
@@ -34,7 +34,7 @@ services:
entrypoint
:
# pass the L2 specific flags by overriding the entry-point and adding extra arguments
entrypoint
:
# pass the L2 specific flags by overriding the entry-point and adding extra arguments
-
"
/bin/sh"
-
"
/bin/sh"
-
"
/entrypoint.sh"
-
"
/entrypoint.sh"
-
"
--authrpc.jwt
-
secret=/config/test-jwt-secret.txt"
-
"
--authrpc.jwtsecret=/config/test-jwt-secret.txt"
op-node
:
op-node
:
depends_on
:
depends_on
:
...
...
packages/contracts-bedrock/CHANGELOG.md
View file @
3c5aee9c
# @eth-optimism/contracts-bedrock
# @eth-optimism/contracts-bedrock
## 0.1.2
### Patch Changes
-
07a84aed: Move core-utils to deps instead of devdeps
## 0.1.1
## 0.1.1
### Patch Changes
### Patch Changes
...
...
packages/contracts-bedrock/package.json
View file @
3c5aee9c
{
{
"name"
:
"@eth-optimism/contracts-bedrock"
,
"name"
:
"@eth-optimism/contracts-bedrock"
,
"version"
:
"0.1.
1
"
,
"version"
:
"0.1.
2
"
,
"description"
:
"Contracts for Optimism Specs"
,
"description"
:
"Contracts for Optimism Specs"
,
"main"
:
"dist/index"
,
"main"
:
"dist/index"
,
"types"
:
"dist/index"
,
"types"
:
"dist/index"
,
...
...
technical-documents/postmortems/2022-05-31-drop-1.md
0 → 100644
View file @
3c5aee9c
This diff is collapsed.
Click to expand it.
teleportr/CHANGELOG.md
View file @
3c5aee9c
# @eth-optimism/teleportr
# @eth-optimism/teleportr
## 0.0.8
### Patch Changes
-
487a9731: Improve metrics
-
b5ee3c70: Increase max disbursements to 15
## 0.0.7
## 0.0.7
### Patch Changes
### Patch Changes
...
...
teleportr/drivers/disburser/driver.go
View file @
3c5aee9c
...
@@ -6,6 +6,7 @@ import (
...
@@ -6,6 +6,7 @@ import (
"errors"
"errors"
"math/big"
"math/big"
"strings"
"strings"
"sync"
"time"
"time"
"github.com/ethereum-optimism/optimism/bss-core/metrics"
"github.com/ethereum-optimism/optimism/bss-core/metrics"
...
@@ -33,7 +34,7 @@ var DisbursementFailedTopic = common.HexToHash(
...
@@ -33,7 +34,7 @@ var DisbursementFailedTopic = common.HexToHash(
"0x9b478c095979d3d3a7d602ffd9ee1f0843204d853558ae0882c8fcc0a5bc78cf"
,
"0x9b478c095979d3d3a7d602ffd9ee1f0843204d853558ae0882c8fcc0a5bc78cf"
,
)
)
const
MaxDisbursements
=
5
const
MaxDisbursements
=
1
5
type
Config
struct
{
type
Config
struct
{
Name
string
Name
string
...
@@ -48,6 +49,7 @@ type Config struct {
...
@@ -48,6 +49,7 @@ type Config struct {
DisburserAddr
common
.
Address
DisburserAddr
common
.
Address
ChainID
*
big
.
Int
ChainID
*
big
.
Int
PrivKey
*
ecdsa
.
PrivateKey
PrivKey
*
ecdsa
.
PrivateKey
ChainMetricsEnable
bool
}
}
type
Driver
struct
{
type
Driver
struct
{
...
@@ -58,10 +60,12 @@ type Driver struct {
...
@@ -58,10 +60,12 @@ type Driver struct {
walletAddr
common
.
Address
walletAddr
common
.
Address
metrics
*
Metrics
metrics
*
Metrics
currentDepositIDs
[]
uint64
currentDepositIDs
[]
uint64
chainMetricsEnabled
bool
metricsMu
sync
.
Mutex
}
}
func
NewDriver
(
cfg
Config
)
(
*
Driver
,
error
)
{
func
NewDriver
(
cfg
Config
,
parentCtx
context
.
Context
)
(
*
Driver
,
error
)
{
if
cfg
.
NumConfirmations
==
0
{
if
cfg
.
NumConfirmations
==
0
{
panic
(
"NumConfirmations cannot be zero"
)
panic
(
"NumConfirmations cannot be zero"
)
}
}
...
@@ -95,15 +99,21 @@ func NewDriver(cfg Config) (*Driver, error) {
...
@@ -95,15 +99,21 @@ func NewDriver(cfg Config) (*Driver, error) {
)
)
walletAddr
:=
crypto
.
PubkeyToAddress
(
cfg
.
PrivKey
.
PublicKey
)
walletAddr
:=
crypto
.
PubkeyToAddress
(
cfg
.
PrivKey
.
PublicKey
)
metricsInst
:=
NewMetrics
(
cfg
.
Name
)
return
&
Driver
{
d
:=
&
Driver
{
cfg
:
cfg
,
cfg
:
cfg
,
depositContract
:
depositContract
,
depositContract
:
depositContract
,
disburserContract
:
disburserContract
,
disburserContract
:
disburserContract
,
rawDisburserContract
:
rawDisburserContract
,
rawDisburserContract
:
rawDisburserContract
,
walletAddr
:
walletAddr
,
walletAddr
:
walletAddr
,
metrics
:
NewMetrics
(
cfg
.
Name
),
metrics
:
metricsInst
,
},
nil
chainMetricsEnabled
:
cfg
.
ChainMetricsEnable
,
}
if
d
.
chainMetricsEnabled
{
go
d
.
collectChainMetricsBackground
(
parentCtx
)
}
return
d
,
nil
}
}
// Name is an identifier used to prefix logs for a particular service.
// Name is an identifier used to prefix logs for a particular service.
...
@@ -140,8 +150,8 @@ func (d *Driver) ClearPendingTx(
...
@@ -140,8 +150,8 @@ func (d *Driver) ClearPendingTx(
func
(
d
*
Driver
)
GetBatchBlockRange
(
func
(
d
*
Driver
)
GetBatchBlockRange
(
ctx
context
.
Context
)
(
*
big
.
Int
,
*
big
.
Int
,
error
)
{
ctx
context
.
Context
)
(
*
big
.
Int
,
*
big
.
Int
,
error
)
{
// Update
balance
metrics on each iteration.
// Update metrics on each iteration.
d
.
updateBalance
Metrics
(
ctx
)
d
.
collectChain
Metrics
(
ctx
)
// Clear the current deposit IDs from any prior iteration.
// Clear the current deposit IDs from any prior iteration.
d
.
currentDepositIDs
=
nil
d
.
currentDepositIDs
=
nil
...
@@ -720,19 +730,63 @@ func (d *Driver) deletePendingTx(startID, endID uint64) error {
...
@@ -720,19 +730,63 @@ func (d *Driver) deletePendingTx(startID, endID uint64) error {
return
nil
return
nil
}
}
func
(
d
*
Driver
)
updateBalanceMetrics
(
ctx
context
.
Context
)
{
func
(
d
*
Driver
)
collectChainMetricsBackground
(
ctx
context
.
Context
)
{
disburserBal
,
err
:=
d
.
cfg
.
L2Client
.
BalanceAt
(
ctx
,
d
.
walletAddr
,
nil
)
tick
:=
time
.
NewTicker
(
time
.
Minute
)
defer
tick
.
Stop
()
for
{
select
{
case
<-
tick
.
C
:
log
.
Info
(
"collecting background metrics"
)
d
.
collectChainMetrics
(
ctx
)
case
<-
ctx
.
Done
()
:
return
}
}
}
func
(
d
*
Driver
)
collectChainMetrics
(
ctx
context
.
Context
)
{
if
!
d
.
chainMetricsEnabled
{
return
}
subCtx
,
cancel
:=
context
.
WithTimeout
(
ctx
,
10
*
time
.
Second
)
defer
cancel
()
disburserBal
,
err
:=
d
.
cfg
.
L2Client
.
BalanceAt
(
subCtx
,
d
.
cfg
.
DisburserAddr
,
nil
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Error
(
"Error getting disburser wallet balance"
,
"err"
,
err
)
log
.
Error
(
"Error getting disburser wallet balance"
,
"err"
,
err
)
disburserBal
=
big
.
NewInt
(
0
)
disburserBal
=
big
.
NewInt
(
0
)
}
}
depositBal
,
err
:=
d
.
cfg
.
L1Client
.
BalanceAt
(
c
tx
,
d
.
cfg
.
DepositAddr
,
nil
)
depositBal
,
err
:=
d
.
cfg
.
L1Client
.
BalanceAt
(
subC
tx
,
d
.
cfg
.
DepositAddr
,
nil
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Error
(
"Error getting deposit contract balance"
,
"err"
,
err
)
log
.
Error
(
"Error getting deposit contract balance"
,
"err"
,
err
)
depositBal
=
big
.
NewInt
(
0
)
depositBal
=
big
.
NewInt
(
0
)
}
}
nextDepositID
,
err
:=
d
.
depositContract
.
TotalDeposits
(
&
bind
.
CallOpts
{
Context
:
subCtx
,
})
if
err
!=
nil
{
log
.
Error
(
"Error getting deposit contract total deposits"
)
nextDepositID
=
big
.
NewInt
(
0
)
}
nextDisbursementID
,
err
:=
d
.
disburserContract
.
TotalDisbursements
(
&
bind
.
CallOpts
{
Context
:
subCtx
,
},
)
if
err
!=
nil
{
log
.
Error
(
"Error getting deposit contract total disbursements"
)
nextDisbursementID
=
big
.
NewInt
(
0
)
}
d
.
metricsMu
.
Lock
()
d
.
metrics
.
DisburserBalance
.
Set
(
float64
(
disburserBal
.
Uint64
()))
d
.
metrics
.
DisburserBalance
.
Set
(
float64
(
disburserBal
.
Uint64
()))
d
.
metrics
.
DepositContractBalance
.
Set
(
float64
(
depositBal
.
Uint64
()))
d
.
metrics
.
DepositContractBalance
.
Set
(
float64
(
depositBal
.
Uint64
()))
d
.
metrics
.
ContractNextDepositID
.
Set
(
float64
(
nextDepositID
.
Uint64
()))
d
.
metrics
.
ContractNextDisbursementID
.
Set
(
float64
(
nextDisbursementID
.
Uint64
()))
d
.
metricsMu
.
Unlock
()
}
}
teleportr/drivers/disburser/metrics.go
View file @
3c5aee9c
...
@@ -66,6 +66,10 @@ type Metrics struct {
...
@@ -66,6 +66,10 @@ type Metrics struct {
// the disburser contract.
// the disburser contract.
ContractNextDisbursementID
prometheus
.
Gauge
ContractNextDisbursementID
prometheus
.
Gauge
// ContractNextDepositID tracks the next deposit id expected by the deposit
// contract.
ContractNextDepositID
prometheus
.
Gauge
// DisburserBalance tracks Teleportr's disburser account balance.
// DisburserBalance tracks Teleportr's disburser account balance.
DisburserBalance
prometheus
.
Gauge
DisburserBalance
prometheus
.
Gauge
...
@@ -117,6 +121,11 @@ func NewMetrics(subsystem string) *Metrics {
...
@@ -117,6 +121,11 @@ func NewMetrics(subsystem string) *Metrics {
Help
:
"Next disbursement id expected by the disburser contract"
,
Help
:
"Next disbursement id expected by the disburser contract"
,
Subsystem
:
base
.
SubsystemName
(),
Subsystem
:
base
.
SubsystemName
(),
}),
}),
ContractNextDepositID
:
promauto
.
NewGauge
(
prometheus
.
GaugeOpts
{
Name
:
"contract_next_deposit_id"
,
Help
:
"next deposit id expected by the deposit contract"
,
Subsystem
:
base
.
SubsystemName
(),
}),
DisburserBalance
:
promauto
.
NewGauge
(
prometheus
.
GaugeOpts
{
DisburserBalance
:
promauto
.
NewGauge
(
prometheus
.
GaugeOpts
{
Name
:
"disburser_balance"
,
Name
:
"disburser_balance"
,
Help
:
"Balance in Wei of Teleportr's disburser wallet"
,
Help
:
"Balance in Wei of Teleportr's disburser wallet"
,
...
...
teleportr/package.json
View file @
3c5aee9c
{
{
"name"
:
"@eth-optimism/teleportr"
,
"name"
:
"@eth-optimism/teleportr"
,
"version"
:
"0.0.
7
"
,
"version"
:
"0.0.
8
"
,
"private"
:
true
,
"private"
:
true
,
"devDependencies"
:
{}
"devDependencies"
:
{}
}
}
teleportr/teleportr.go
View file @
3c5aee9c
...
@@ -110,7 +110,8 @@ func Main(gitVersion string) func(ctx *cli.Context) error {
...
@@ -110,7 +110,8 @@ func Main(gitVersion string) func(ctx *cli.Context) error {
DisburserAddr
:
disburserAddr
,
DisburserAddr
:
disburserAddr
,
ChainID
:
chainID
,
ChainID
:
chainID
,
PrivKey
:
disburserPrivKey
,
PrivKey
:
disburserPrivKey
,
})
ChainMetricsEnable
:
cfg
.
MetricsServerEnable
,
},
ctx
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
...
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