Commit dea3d18a authored by Matthew Slipper's avatar Matthew Slipper Committed by GitHub

Merge pull request #4675 from ethereum-optimism/develop

Release packages
parents 295991b2 927e91ae
---
'@eth-optimism/balance-monitor': patch
---
Fixed the name in Dockerfile.packages
---
'@eth-optimism/indexer': minor
---
Fix startup issues, add L2 conf depth
......@@ -65,9 +65,13 @@ type Config struct {
// L1StartBlockNumber is the block number to start indexing L1 from.
L1StartBlockNumber uint64
// ConfDepth is the number of confirmations after which headers are
// considered confirmed.
ConfDepth uint64
// L1ConfDepth is the number of confirmations after which headers are
// considered confirmed on L1.
L1ConfDepth uint64
// L2ConfDepth is the number of confirmations after which headers are
// considered confirmed on L2.
L2ConfDepth uint64
// MaxHeaderBatchSize is the maximum number of headers to request as a
// batch.
......@@ -122,7 +126,8 @@ func NewConfig(ctx *cli.Context) (Config, error) {
LogLevel: ctx.GlobalString(flags.LogLevelFlag.Name),
LogTerminal: ctx.GlobalBool(flags.LogTerminalFlag.Name),
L1StartBlockNumber: ctx.GlobalUint64(flags.L1StartBlockNumberFlag.Name),
ConfDepth: ctx.GlobalUint64(flags.ConfDepthFlag.Name),
L1ConfDepth: ctx.GlobalUint64(flags.L1ConfDepthFlag.Name),
L2ConfDepth: ctx.GlobalUint64(flags.L2ConfDepthFlag.Name),
MaxHeaderBatchSize: ctx.GlobalUint64(flags.MaxHeaderBatchSizeFlag.Name),
MetricsServerEnable: ctx.GlobalBool(flags.MetricsServerEnableFlag.Name),
RESTHostname: ctx.GlobalString(flags.RESTHostnameFlag.Name),
......
......@@ -137,11 +137,17 @@ var (
Value: 0,
EnvVar: prefixEnvVar("START_BLOCK_NUMBER"),
}
ConfDepthFlag = cli.Uint64Flag{
Name: "conf-depth",
Usage: "The number of confirmations after which headers are considered confirmed",
L1ConfDepthFlag = cli.Uint64Flag{
Name: "l1-conf-depth",
Usage: "The number of confirmations after which headers are considered confirmed on L1",
Value: 20,
EnvVar: prefixEnvVar("CONF_DEPTH"),
EnvVar: prefixEnvVar("L1_CONF_DEPTH"),
}
L2ConfDepthFlag = cli.Uint64Flag{
Name: "l2-conf-depth",
Usage: "The number of confirmations after which headers are considered confirmed on L1",
Value: 24,
EnvVar: prefixEnvVar("L2_CONF_DEPTH"),
}
MaxHeaderBatchSizeFlag = cli.Uint64Flag{
Name: "max-header-batch-size",
......@@ -203,7 +209,8 @@ var optionalFlags = []cli.Flag{
SentryEnableFlag,
SentryDsnFlag,
SentryTraceRateFlag,
ConfDepthFlag,
L1ConfDepthFlag,
L2ConfDepthFlag,
MaxHeaderBatchSizeFlag,
L1StartBlockNumberFlag,
RESTHostnameFlag,
......
......@@ -164,7 +164,7 @@ func NewIndexer(cfg Config) (*Indexer, error) {
ChainID: new(big.Int).SetUint64(cfg.ChainID),
AddressManager: addrManager,
DB: db,
ConfDepth: cfg.ConfDepth,
ConfDepth: cfg.L1ConfDepth,
MaxHeaderBatchSize: cfg.MaxHeaderBatchSize,
StartBlockNumber: cfg.L1StartBlockNumber,
Bedrock: cfg.Bedrock,
......@@ -179,7 +179,7 @@ func NewIndexer(cfg Config) (*Indexer, error) {
L2RPC: l2RPC,
L2Client: l2Client,
DB: db,
ConfDepth: cfg.ConfDepth,
ConfDepth: cfg.L2ConfDepth,
MaxHeaderBatchSize: cfg.MaxHeaderBatchSize,
StartBlockNumber: uint64(0),
Bedrock: cfg.Bedrock,
......
......@@ -73,7 +73,8 @@ func TestBedrockIndexer(t *testing.T) {
LogLevel: "info",
LogTerminal: true,
L1StartBlockNumber: 0,
ConfDepth: 1,
L1ConfDepth: 1,
L2ConfDepth: 1,
MaxHeaderBatchSize: 2,
RESTHostname: "127.0.0.1",
RESTPort: 7980,
......
......@@ -71,6 +71,7 @@ type Service struct {
batchScanner *scc.StateCommitmentChainFilterer
latestHeader uint64
headerSelector *ConfirmedHeaderSelector
l1Client *ethclient.Client
metrics *metrics.Metrics
tokenCache map[common.Address]*db.Token
......@@ -143,6 +144,7 @@ func NewService(cfg ServiceConfig) (*Service, error) {
ZeroAddress: db.ETHL1Token,
},
isBedrock: cfg.Bedrock,
l1Client: cfg.L1Client,
}
service.wg.Add(1)
return service, nil
......@@ -202,16 +204,22 @@ func (s *Service) loop() {
}
func (s *Service) Update(newHeader *types.Header) error {
var lowest = db.BlockLocator{
Number: s.cfg.StartBlockNumber,
}
var lowest db.BlockLocator
highestConfirmed, err := s.cfg.DB.GetHighestL1Block()
if err != nil {
return err
}
if highestConfirmed != nil {
lowest = *highestConfirmed
if highestConfirmed == nil {
startHeader, err := s.l1Client.HeaderByNumber(s.ctx, new(big.Int).SetUint64(s.cfg.StartBlockNumber))
if err != nil {
return fmt.Errorf("error fetching header by number: %w", err)
}
highestConfirmed = &db.BlockLocator{
Number: s.cfg.StartBlockNumber,
Hash: startHeader.Hash(),
}
}
lowest = *highestConfirmed
headers, err := s.headerSelector.NewHead(s.ctx, lowest.Number, newHeader, s.cfg.RawL1Client)
if err != nil {
......@@ -260,22 +268,28 @@ func (s *Service) Update(newHeader *types.Header) error {
bridgeDepositsCh <- deposits
}(bridgeImpl)
}
go func() {
provenWithdrawals, err := s.portal.GetProvenWithdrawalsByBlockRange(s.ctx, startHeight, endHeight)
if err != nil {
errCh <- err
return
}
provenWithdrawalsCh <- provenWithdrawals
}()
go func() {
finalizedWithdrawals, err := s.portal.GetFinalizedWithdrawalsByBlockRange(s.ctx, startHeight, endHeight)
if err != nil {
errCh <- err
return
}
finalizedWithdrawalsCh <- finalizedWithdrawals
}()
if s.isBedrock {
go func() {
provenWithdrawals, err := s.portal.GetProvenWithdrawalsByBlockRange(s.ctx, startHeight, endHeight)
if err != nil {
errCh <- err
return
}
provenWithdrawalsCh <- provenWithdrawals
}()
go func() {
finalizedWithdrawals, err := s.portal.GetFinalizedWithdrawalsByBlockRange(s.ctx, startHeight, endHeight)
if err != nil {
errCh <- err
return
}
finalizedWithdrawalsCh <- finalizedWithdrawals
}()
} else {
provenWithdrawalsCh <- make(bridge.ProvenWithdrawalsMap)
finalizedWithdrawalsCh <- make(bridge.FinalizedWithdrawalsMap)
}
var receives int
for {
......
......@@ -13,7 +13,7 @@ import (
)
var (
Version = "v0.10.6"
Version = "v0.10.7"
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.6
github.com/ethereum-optimism/optimism/op-proposer v0.10.6
github.com/ethereum-optimism/optimism/op-service v0.10.6
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/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.6 // indirect
github.com/ethereum-optimism/optimism/op-bindings v0.10.7 // 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
......@@ -31,6 +31,7 @@ require (
github.com/golang-jwt/jwt/v4 v4.4.2 // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/google/uuid v1.3.0 // indirect
github.com/gorilla/websocket v1.5.0 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-bexpr v0.1.11 // indirect
......@@ -72,6 +73,7 @@ require (
github.com/prometheus/procfs v0.8.0 // indirect
github.com/prometheus/tsdb v0.10.0 // indirect
github.com/rivo/uniseg v0.3.4 // indirect
github.com/rjeczalik/notify v0.9.2 // indirect
github.com/rs/cors v1.8.2 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/shirou/gopsutil v3.21.11+incompatible // indirect
......
......@@ -72,6 +72,7 @@ github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg
github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY=
github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/cp v0.1.0 h1:SE+dxFebS7Iik5LK0tsi1k9ZCxEaFX4AjQmoyA+1dJk=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
......@@ -106,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.6 h1:p+DyvdgM84Ub1Q2ihhjrdcY/HI7am3cx1v41SUQLz+Y=
github.com/ethereum-optimism/optimism/op-bindings v0.10.6/go.mod h1:9ZSUq/rjlzp3uYyBN4sZmhTc3oZgDVqJ4wrUja7vj6c=
github.com/ethereum-optimism/optimism/op-node v0.10.6 h1:n5UsOczThs1qVoLQgEDPQ0U+yjiCVNoWoNXOkBq3cwM=
github.com/ethereum-optimism/optimism/op-node v0.10.6/go.mod h1:niSAUIsvltAsj+3DOU5FBMvUonYSyyZAApWVOdDoauE=
github.com/ethereum-optimism/optimism/op-proposer v0.10.6 h1:WB6NXpYtCTAMXGAKVFP+XAv+AuHgrdGXsrM2R1pD0mI=
github.com/ethereum-optimism/optimism/op-proposer v0.10.6/go.mod h1:IA0FIdEPWLkbv8MNSn1F50+F6RVJnf9MdDqyTymAEPY=
github.com/ethereum-optimism/optimism/op-service v0.10.6 h1:4lNQtUeCeELjvyKTmw6YD9XGLpiQ1YiopAmtZ/x/mXQ=
github.com/ethereum-optimism/optimism/op-service v0.10.6/go.mod h1:wbtHqi1fv00B3agj7a2zdP3OFanEfGZ23zPgGgFCF/c=
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/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=
......@@ -202,6 +203,7 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
......@@ -368,6 +370,7 @@ github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJ
github.com/rivo/uniseg v0.3.4 h1:3Z3Eu6FGHZWSfNKJTOUiPatWwfc7DzJRU04jFUqJODw=
github.com/rivo/uniseg v0.3.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rjeczalik/notify v0.9.2 h1:MiTWrPj55mNDHEiIX5YUSKefw/+lCQVoAFmD6oQm5w8=
github.com/rjeczalik/notify v0.9.2/go.mod h1:aErll2f0sUX9PXZnVNyeiObbmTlk5jnMoCa4QEjJeqM=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U=
github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU=
......@@ -523,6 +526,7 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180926160741-c2ed4eda69e7/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
......
......@@ -55,7 +55,7 @@ var (
// Slot 0x00 (0) is a combination of spacer_0_0_20, _initialized, and _initializing
common.Hash{}: common.HexToHash("0x0000000000000000000000010000000000000000000000000000000000000000"),
// Slot 0x33 (51) is _owner. Requires custom check, so set to a garbage value
L2XDMOwnerSlot: common.HexToHash("0xbadbadbadbad0xbadbadbadbadbadbadbadbad0xbadbadbadbad0xbadbadbad0"),
L2XDMOwnerSlot: common.HexToHash("0xbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbad0"),
// Slot 0x97 (151) is _status
common.Hash{31: 0x97}: common.HexToHash("0x0000000000000000000000000000000000000000000000000000000000000001"),
// Slot 0xcc (204) is xDomainMsgSender
......@@ -75,7 +75,11 @@ var (
// ProxyAdmin is not a proxy, and only has the _owner slot set.
predeploys.ProxyAdminAddr: {
// Slot 0x00 (0) is _owner. Requires custom check, so set to a garbage value
ProxyAdminOwnerSlot: common.HexToHash("0xbadbadbadbad0xbadbadbadbadbadbadbadbad0xbadbadbadbad0xbadbadbad0"),
ProxyAdminOwnerSlot: common.HexToHash("0xbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbad0"),
// EIP-1967 storage slots
AdminSlot: common.HexToHash("0x0000000000000000000000004200000000000000000000000000000000000018"),
ImplementationSlot: common.HexToHash("0x000000000000000000000000c0d3c0d3c0d3c0d3c0d3c0d3c0d3c0d3c0d30018"),
},
predeploys.BaseFeeVaultAddr: eip1967Slots(predeploys.BaseFeeVaultAddr),
predeploys.L1FeeVaultAddr: eip1967Slots(predeploys.L1FeeVaultAddr),
......
......@@ -65,7 +65,7 @@ func TestBuildL2DeveloperGenesis(t *testing.T) {
require.Equal(t, adminSlot, predeploys.ProxyAdminAddr.Hash())
require.Equal(t, account.Code, depB)
}
require.Equal(t, 2342, len(gen.Alloc))
require.Equal(t, 2343, len(gen.Alloc))
if writeFile {
file, _ := json.MarshalIndent(gen, "", " ")
......@@ -92,5 +92,5 @@ func TestBuildL2DeveloperGenesisDevAccountsFunding(t *testing.T) {
gen, err := genesis.BuildL2DeveloperGenesis(config, block)
require.NoError(t, err)
require.Equal(t, 2320, len(gen.Alloc))
require.Equal(t, 2321, len(gen.Alloc))
}
......@@ -108,7 +108,7 @@ func setProxies(db vm.StateDB, proxyAdminAddr common.Address, namespace *big.Int
bigAddr := new(big.Int).Or(namespace, new(big.Int).SetUint64(i))
addr := common.BigToAddress(bigAddr)
if UntouchablePredeploys[addr] || addr == predeploys.ProxyAdminAddr {
if UntouchablePredeploys[addr] {
log.Info("Skipping setting proxy", "address", addr)
continue
}
......@@ -121,6 +121,7 @@ func setProxies(db vm.StateDB, proxyAdminAddr common.Address, namespace *big.Int
db.SetState(addr, AdminSlot, proxyAdminAddr.Hash())
log.Trace("Set proxy", "address", addr, "admin", proxyAdminAddr)
}
return nil
}
......@@ -156,18 +157,11 @@ func SetImplementations(db vm.StateDB, storage state.StorageConfig, immutable im
return fmt.Errorf("error converting to code namespace: %w", err)
}
// Proxy admin is a special case - it needs an impl set, but at its own address
if *address == predeploys.ProxyAdminAddr {
codeAddr = *address
}
if !db.Exist(codeAddr) {
db.CreateAccount(codeAddr)
}
if *address != predeploys.ProxyAdminAddr {
db.SetState(*address, ImplementationSlot, codeAddr.Hash())
}
db.SetState(*address, ImplementationSlot, codeAddr.Hash())
if err := setupPredeploy(db, deployResults, storage, name, *address, codeAddr); err != nil {
return err
......
......@@ -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.6
github.com/ethereum-optimism/optimism/op-bindings v0.10.7
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,6 +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/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,11 +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.6 h1:p+DyvdgM84Ub1Q2ihhjrdcY/HI7am3cx1v41SUQLz+Y=
github.com/ethereum-optimism/optimism/op-bindings v0.10.6/go.mod h1:9ZSUq/rjlzp3uYyBN4sZmhTc3oZgDVqJ4wrUja7vj6c=
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.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.1 h1:s8CisVat3ia04Z0mW3IiwZ7V1EInyVe3ODq6UXSyJG4=
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/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.6
github.com/ethereum-optimism/optimism/op-bindings v0.10.6
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.6
github.com/ethereum-optimism/optimism/op-node v0.10.6
github.com/ethereum-optimism/optimism/op-proposer v0.10.6
github.com/ethereum-optimism/optimism/op-service v0.10.6
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/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.6 h1:kha+p7++jWSKyXMD5vbcyxBPElaxg/9D+Y/u4nSGnlo=
github.com/ethereum-optimism/optimism/op-batcher v0.10.6/go.mod h1:VXG4VvFYk29PoxR7TPE6HJ5PeW5894xNHo6YDWtxOWE=
github.com/ethereum-optimism/optimism/op-bindings v0.10.6 h1:p+DyvdgM84Ub1Q2ihhjrdcY/HI7am3cx1v41SUQLz+Y=
github.com/ethereum-optimism/optimism/op-bindings v0.10.6/go.mod h1:9ZSUq/rjlzp3uYyBN4sZmhTc3oZgDVqJ4wrUja7vj6c=
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.6 h1:kboEz7uzqjnoodUiyFQ3h4OWRgBszrBixFoLPr+OnjM=
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.6/go.mod h1:sDHubm0jAmPmluUSbcd1e9k3BVuHvjTtkLe7uasHehE=
github.com/ethereum-optimism/optimism/op-node v0.10.6 h1:n5UsOczThs1qVoLQgEDPQ0U+yjiCVNoWoNXOkBq3cwM=
github.com/ethereum-optimism/optimism/op-node v0.10.6/go.mod h1:niSAUIsvltAsj+3DOU5FBMvUonYSyyZAApWVOdDoauE=
github.com/ethereum-optimism/optimism/op-proposer v0.10.6 h1:WB6NXpYtCTAMXGAKVFP+XAv+AuHgrdGXsrM2R1pD0mI=
github.com/ethereum-optimism/optimism/op-proposer v0.10.6/go.mod h1:IA0FIdEPWLkbv8MNSn1F50+F6RVJnf9MdDqyTymAEPY=
github.com/ethereum-optimism/optimism/op-service v0.10.6 h1:4lNQtUeCeELjvyKTmw6YD9XGLpiQ1YiopAmtZ/x/mXQ=
github.com/ethereum-optimism/optimism/op-service v0.10.6/go.mod h1:wbtHqi1fv00B3agj7a2zdP3OFanEfGZ23zPgGgFCF/c=
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/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=
......
......@@ -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.6
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.6
github.com/ethereum-optimism/optimism/op-service v0.10.6
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/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.6 h1:p+DyvdgM84Ub1Q2ihhjrdcY/HI7am3cx1v41SUQLz+Y=
github.com/ethereum-optimism/optimism/op-bindings v0.10.6/go.mod h1:9ZSUq/rjlzp3uYyBN4sZmhTc3oZgDVqJ4wrUja7vj6c=
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.6 h1:kboEz7uzqjnoodUiyFQ3h4OWRgBszrBixFoLPr+OnjM=
github.com/ethereum-optimism/optimism/op-chain-ops v0.10.6/go.mod h1:sDHubm0jAmPmluUSbcd1e9k3BVuHvjTtkLe7uasHehE=
github.com/ethereum-optimism/optimism/op-service v0.10.6 h1:4lNQtUeCeELjvyKTmw6YD9XGLpiQ1YiopAmtZ/x/mXQ=
github.com/ethereum-optimism/optimism/op-service v0.10.6/go.mod h1:wbtHqi1fv00B3agj7a2zdP3OFanEfGZ23zPgGgFCF/c=
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/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=
......
......@@ -216,17 +216,17 @@ func FilterEnodes(log log.Logger, cfg *rollup.Config) func(node *enode.Node) boo
err := node.Load(&dat)
// if the entry does not exist, or if it is invalid, then ignore the node
if err != nil {
log.Debug("discovered node record has no opstack info", "node", node.ID(), "err", err)
log.Trace("discovered node record has no opstack info", "node", node.ID(), "err", err)
return false
}
// check chain ID matches
if cfg.L2ChainID.Uint64() != dat.chainID {
log.Debug("discovered node record has no matching chain ID", "node", node.ID(), "got", dat.chainID, "expected", cfg.L2ChainID.Uint64())
log.Trace("discovered node record has no matching chain ID", "node", node.ID(), "got", dat.chainID, "expected", cfg.L2ChainID.Uint64())
return false
}
// check version matches
if dat.version != 0 {
log.Debug("discovered node record has no matching version", "node", node.ID(), "got", dat.version, "expected", 0)
log.Trace("discovered node record has no matching version", "node", node.ID(), "got", dat.version, "expected", 0)
return false
}
return true
......
package version
var (
Version = "v0.10.6"
Version = "v0.10.7"
Meta = "dev"
)
......@@ -13,7 +13,7 @@ import (
)
var (
Version = "v0.10.6"
Version = "v0.10.7"
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.6
github.com/ethereum-optimism/optimism/op-node v0.10.6
github.com/ethereum-optimism/optimism/op-service v0.10.6
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/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.6 h1:p+DyvdgM84Ub1Q2ihhjrdcY/HI7am3cx1v41SUQLz+Y=
github.com/ethereum-optimism/optimism/op-bindings v0.10.6/go.mod h1:9ZSUq/rjlzp3uYyBN4sZmhTc3oZgDVqJ4wrUja7vj6c=
github.com/ethereum-optimism/optimism/op-node v0.10.6 h1:n5UsOczThs1qVoLQgEDPQ0U+yjiCVNoWoNXOkBq3cwM=
github.com/ethereum-optimism/optimism/op-node v0.10.6/go.mod h1:niSAUIsvltAsj+3DOU5FBMvUonYSyyZAApWVOdDoauE=
github.com/ethereum-optimism/optimism/op-service v0.10.6 h1:4lNQtUeCeELjvyKTmw6YD9XGLpiQ1YiopAmtZ/x/mXQ=
github.com/ethereum-optimism/optimism/op-service v0.10.6/go.mod h1:wbtHqi1fv00B3agj7a2zdP3OFanEfGZ23zPgGgFCF/c=
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/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=
......
......@@ -6,6 +6,14 @@ import sys
from github import Github
REBUILD_ALL_PATTERNS = [
r'^\.circleci/\.*',
r'^\.github/\.*',
r'^package\.json',
r'^yarn\.lock',
r'ops/check-changed/.*'
]
WHITELISTED_BRANCHES = {
'master',
'develop'
......@@ -42,7 +50,7 @@ log = logging.getLogger(__name__)
def main():
patterns = sys.argv[1].split(',')
patterns.append(r'^\.circleci/\.*')
patterns = patterns + REBUILD_ALL_PATTERNS
fp = os.path.realpath(__file__)
monorepo_path = os.path.realpath(os.path.join(fp, '..', '..'))
......
......@@ -6,25 +6,25 @@ FROM ethereumoptimism/foundry:latest as foundry
FROM node:16-alpine3.14 as base
RUN apk --no-cache add curl \
jq \
python3 \
ca-certificates \
git \
make \
gcc \
musl-dev \
linux-headers \
bash \
build-base \
gcompat
jq \
python3 \
ca-certificates \
git \
make \
gcc \
musl-dev \
linux-headers \
bash \
build-base \
gcompat
ENV GLIBC_KEY=https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub
ENV GLIBC_KEY_FILE=/etc/apk/keys/sgerrand.rsa.pub
ENV GLIBC_RELEASE=https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-2.35-r0.apk
RUN wget -q -O ${GLIBC_KEY_FILE} ${GLIBC_KEY} \
&& wget -O glibc.apk ${GLIBC_RELEASE} \
&& apk add glibc.apk --force
&& wget -O glibc.apk ${GLIBC_RELEASE} \
&& apk add glibc.apk --force
COPY --from=foundry /usr/local/bin/forge /usr/local/bin/forge
COPY --from=foundry /usr/local/bin/cast /usr/local/bin/cast
......@@ -108,6 +108,6 @@ FROM base as drippie-mon
WORKDIR /opt/optimism/packages/drippie-mon
ENTRYPOINT ["npm", "run", "start"]
FROM base as drippie-mon
FROM base as balance-monitor
WORKDIR /opt/optimism/packages/balance-monitor
ENTRYPOINT ["yarn", "run", "start:prod"]
......@@ -154,7 +154,7 @@ const checkGenesisMagic = async (
address = args.l2OutputOracleAddress
} else {
const Deployment__L2OutputOracle = await hre.deployments.get(
'L2OutputOracle'
'L2OutputOracleProxy'
)
address = Deployment__L2OutputOracle.address
}
......@@ -577,6 +577,9 @@ const check = {
const addressManager = await ProxyAdmin.addressManager()
console.log(` - addressManager: ${addressManager}`)
await checkProxy(hre, 'ProxyAdmin', signer.provider)
await assertProxy(hre, 'ProxyAdmin', signer.provider)
},
// BaseFeeVault
// - check version
......
diff --git a/node_modules/@changesets/cli/dist/cli.cjs.dev.js b/node_modules/@changesets/cli/dist/cli.cjs.dev.js
index f771824..9ea7f20 100644
--- a/node_modules/@changesets/cli/dist/cli.cjs.dev.js
+++ b/node_modules/@changesets/cli/dist/cli.cjs.dev.js
@@ -794,7 +794,7 @@ async function publishPackages({
token: otp,
isRequired: Promise.resolve(true)
};
- const unpublishedPackagesInfo = await getUnpublishedPackages(publicPackages, preState);
+ const unpublishedPackagesInfo = await getUnpublishedPackages(packages, preState);
if (unpublishedPackagesInfo.length === 0) {
logger.warn("No unpublished packages to publish");
@@ -810,20 +810,29 @@ async function publishAPackage(pkg, access, twoFactorState, tag) {
const {
name,
version,
- publishConfig
+ publishConfig,
+ private: isPrivate
} = pkg.packageJson;
const localAccess = publishConfig && publishConfig.access;
- logger.info(`Publishing ${chalk__default['default'].cyan(`"${name}"`)} at ${chalk__default['default'].green(`"${version}"`)}`);
- const publishDir = publishConfig && publishConfig.directory ? path.join(pkg.dir, publishConfig.directory) : pkg.dir;
- const publishConfirmation = await publish(name, {
- cwd: publishDir,
- access: localAccess || access,
- tag
- }, twoFactorState);
+ let published;
+
+ if (!isPrivate) {
+ logger.info(`Publishing ${chalk__default['default'].cyan(`"${name}"`)} at ${chalk__default['default'].green(`"${version}"`)}`);
+ const publishDir = publishConfig && publishConfig.directory ? path.join(pkg.dir, publishConfig.directory) : pkg.dir;
+ const publishConfirmation = await publish(name, {
+ cwd: publishDir,
+ access: localAccess || access,
+ tag
+ }, twoFactorState);
+ published = publishConfirmation.published;
+ } else {
+ published = true;
+ }
+
return {
name,
newVersion: version,
- published: publishConfirmation.published
+ published
};
}
@@ -940,8 +949,14 @@ async function run(cwd, {
if (tool !== "root") {
for (const pkg of successful) {
const tag = `${pkg.name}@${pkg.newVersion}`;
- logger.log("New tag: ", tag);
- await git.tag(tag, cwd);
+ const isMissingTag = !(await git.tagExists(tag));
+
+ if (isMissingTag) {
+ logger.log("New tag: ", tag);
+ await git.tag(tag, cwd);
+ } else {
+ logger.log("Skipping existing tag: ", tag);
+ }
}
} else {
const tag = `v${successful[0].newVersion}`;
diff --git a/node_modules/@changesets/git/dist/declarations/src/index.d.ts b/node_modules/@changesets/git/dist/declarations/src/index.d.ts
index fbcd2f1..e2d70a3 100644
--- a/node_modules/@changesets/git/dist/declarations/src/index.d.ts
+++ b/node_modules/@changesets/git/dist/declarations/src/index.d.ts
@@ -2,6 +2,7 @@ import { Package } from "@manypkg/get-packages";
declare function add(pathToFile: string, cwd: string): Promise<boolean>;
declare function commit(message: string, cwd: string): Promise<boolean>;
declare function tag(tagStr: string, cwd: string): Promise<boolean>;
+declare function tagExists(tagStr: string): Promise<boolean>;
export declare function getDivergedCommit(cwd: string, ref: string): Promise<string>;
declare const getCommitThatAddsFile: (gitPath: string, cwd: string) => Promise<string | undefined>;
/**
@@ -24,4 +25,4 @@ declare function getChangedPackagesSinceRef({ cwd, ref }: {
cwd: string;
ref: string;
}): Promise<Package[]>;
-export { getCommitThatAddsFile, getCommitsThatAddFiles, getChangedFilesSince, add, commit, tag, getChangedPackagesSinceRef, getChangedChangesetFilesSinceRef };
+export { getCommitThatAddsFile, getCommitsThatAddFiles, getChangedFilesSince, add, commit, tag, tagExists, getChangedPackagesSinceRef, getChangedChangesetFilesSinceRef };
diff --git a/node_modules/@changesets/git/dist/git.cjs.dev.js b/node_modules/@changesets/git/dist/git.cjs.dev.js
index 0564b7e..bd82516 100644
--- a/node_modules/@changesets/git/dist/git.cjs.dev.js
+++ b/node_modules/@changesets/git/dist/git.cjs.dev.js
@@ -46,6 +46,13 @@ async function tag(tagStr, cwd) {
cwd
});
return gitCmd.code === 0;
+}
+
+async function tagExists(tagStr) {
+ const gitCmd = await spawn__default['default']("git", ["tag", "-l", tagStr]);
+ const output = gitCmd.stdout.toString().trim();
+ const tagExists = !!output;
+ return tagExists;
} // Find the commit where we diverged from `ref` at using `git merge-base`
@@ -231,3 +238,4 @@ exports.getCommitThatAddsFile = getCommitThatAddsFile;
exports.getCommitsThatAddFiles = getCommitsThatAddFiles;
exports.getDivergedCommit = getDivergedCommit;
exports.tag = tag;
+exports.tagExists = tagExists;
diff --git a/node_modules/@changesets/git/dist/git.cjs.prod.js b/node_modules/@changesets/git/dist/git.cjs.prod.js
index db3cf82..87ec043 100644
--- a/node_modules/@changesets/git/dist/git.cjs.prod.js
+++ b/node_modules/@changesets/git/dist/git.cjs.prod.js
@@ -35,6 +35,10 @@ async function tag(tagStr, cwd) {
})).code;
}
+async function tagExists(tagStr) {
+ return !!(await spawn__default.default("git", [ "tag", "-l", tagStr ])).stdout.toString().trim();
+}
+
async function getDivergedCommit(cwd, ref) {
const cmd = await spawn__default.default("git", [ "merge-base", ref, "HEAD" ], {
cwd: cwd
@@ -133,4 +137,4 @@ async function getChangedPackagesSinceRef({cwd: cwd, ref: ref}) {
exports.add = add, exports.commit = commit, exports.getChangedChangesetFilesSinceRef = getChangedChangesetFilesSinceRef,
exports.getChangedFilesSince = getChangedFilesSince, exports.getChangedPackagesSinceRef = getChangedPackagesSinceRef,
exports.getCommitThatAddsFile = getCommitThatAddsFile, exports.getCommitsThatAddFiles = getCommitsThatAddFiles,
-exports.getDivergedCommit = getDivergedCommit, exports.tag = tag;
+exports.getDivergedCommit = getDivergedCommit, exports.tag = tag, exports.tagExists = tagExists;
diff --git a/node_modules/@changesets/git/dist/git.esm.js b/node_modules/@changesets/git/dist/git.esm.js
index 9e7349c..922a627 100644
--- a/node_modules/@changesets/git/dist/git.esm.js
+++ b/node_modules/@changesets/git/dist/git.esm.js
@@ -35,6 +35,13 @@ async function tag(tagStr, cwd) {
cwd
});
return gitCmd.code === 0;
+}
+
+async function tagExists(tagStr) {
+ const gitCmd = await spawn("git", ["tag", "-l", tagStr]);
+ const output = gitCmd.stdout.toString().trim();
+ const tagExists = !!output;
+ return tagExists;
} // Find the commit where we diverged from `ref` at using `git merge-base`
@@ -211,4 +218,4 @@ async function getChangedPackagesSinceRef({
.filter((pkg, idx, packages) => packages.indexOf(pkg) === idx);
}
-export { add, commit, getChangedChangesetFilesSinceRef, getChangedFilesSince, getChangedPackagesSinceRef, getCommitThatAddsFile, getCommitsThatAddFiles, getDivergedCommit, tag };
+export { add, commit, getChangedChangesetFilesSinceRef, getChangedFilesSince, getChangedPackagesSinceRef, getCommitThatAddsFile, getCommitsThatAddFiles, getDivergedCommit, tag, tagExists };
......@@ -254,7 +254,7 @@ maintaining L1 context in L2. This allows for L1 state to be accessed in L2.
Address: `0x4200000000000000000000000000000000000018`
The `ProxyAdmin` is the owner of all of the proxy contracts set at the
predeploys. It is not behind a proxy itself. The owner of the `ProxyAdmin` will
predeploys. It is itself behind a proxy. The owner of the `ProxyAdmin` will
have the ability to upgrade any of the other predeploy contracts.
## SequencerFeeVault
......
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