Commit 6af67df5 authored by Conner Fromknecht's avatar Conner Fromknecht

feat: move L2 dial logic out of bss-core

This avoids having l2geth as a dependency for other projects building on
bss-core. Speicifically this avoids having to copy l2geth into docker
builds.
parent c1619de1
---
'@eth-optimism/batch-submitter-service': patch
---
Move L2 dial logic out of bss-core to avoid l2geth dependency
...@@ -93,7 +93,7 @@ func Main(gitVersion string) func(ctx *cli.Context) error { ...@@ -93,7 +93,7 @@ func Main(gitVersion string) func(ctx *cli.Context) error {
return err return err
} }
l2Client, err := dial.L2EthClientWithTimeout(ctx, cfg.L2EthRpc, cfg.DisableHTTP2) l2Client, err := DialL2EthClientWithTimeout(ctx, cfg.L2EthRpc, cfg.DisableHTTP2)
if err != nil { if err != nil {
return err return err
} }
......
package dial package batchsubmitter
import ( import (
"context" "context"
...@@ -6,18 +6,19 @@ import ( ...@@ -6,18 +6,19 @@ import (
"net/http" "net/http"
"strings" "strings"
"github.com/ethereum-optimism/optimism/go/bss-core/dial"
"github.com/ethereum-optimism/optimism/l2geth/ethclient" "github.com/ethereum-optimism/optimism/l2geth/ethclient"
"github.com/ethereum-optimism/optimism/l2geth/log" "github.com/ethereum-optimism/optimism/l2geth/log"
"github.com/ethereum-optimism/optimism/l2geth/rpc" "github.com/ethereum-optimism/optimism/l2geth/rpc"
) )
// L2EthClientWithTimeout attempts to dial the L2 provider using the // DialL2EthClientWithTimeout attempts to dial the L2 provider using the
// provided URL. If the dial doesn't complete within defaultDialTimeout seconds, // provided URL. If the dial doesn't complete within dial.DefaultTimeout seconds,
// this method will return an error. // this method will return an error.
func L2EthClientWithTimeout(ctx context.Context, url string, disableHTTP2 bool) ( func DialL2EthClientWithTimeout(ctx context.Context, url string, disableHTTP2 bool) (
*ethclient.Client, error) { *ethclient.Client, error) {
ctxt, cancel := context.WithTimeout(ctx, defaultDialTimeout) ctxt, cancel := context.WithTimeout(ctx, dial.DefaultTimeout)
defer cancel() defer cancel()
if strings.HasPrefix(url, "http") { if strings.HasPrefix(url, "http") {
......
...@@ -3,7 +3,7 @@ package dial ...@@ -3,7 +3,7 @@ package dial
import "time" import "time"
const ( const (
// defaultDialTimeout is default duration the service will wait on // DefaultTimeout is default duration the service will wait on startup to
// startup to make a connection to either the L1 or L2 backends. // make a connection to either the L1 or L2 backends.
defaultDialTimeout = 5 * time.Second DefaultTimeout = 5 * time.Second
) )
...@@ -12,12 +12,12 @@ import ( ...@@ -12,12 +12,12 @@ import (
) )
// L1EthClientWithTimeout attempts to dial the L1 provider using the // L1EthClientWithTimeout attempts to dial the L1 provider using the
// provided URL. If the dial doesn't complete within defaultDialTimeout seconds, // provided URL. If the dial doesn't complete within DefaultTimeout seconds,
// this method will return an error. // this method will return an error.
func L1EthClientWithTimeout(ctx context.Context, url string, disableHTTP2 bool) ( func L1EthClientWithTimeout(ctx context.Context, url string, disableHTTP2 bool) (
*ethclient.Client, error) { *ethclient.Client, error) {
ctxt, cancel := context.WithTimeout(ctx, defaultDialTimeout) ctxt, cancel := context.WithTimeout(ctx, DefaultTimeout)
defer cancel() defer cancel()
if strings.HasPrefix(url, "http") { if strings.HasPrefix(url, "http") {
......
...@@ -3,13 +3,11 @@ module github.com/ethereum-optimism/optimism/go/bss-core ...@@ -3,13 +3,11 @@ module github.com/ethereum-optimism/optimism/go/bss-core
go 1.16 go 1.16
require ( require (
github.com/btcsuite/btcd v0.22.0-beta // indirect
github.com/decred/dcrd/hdkeychain/v3 v3.0.0 github.com/decred/dcrd/hdkeychain/v3 v3.0.0
github.com/ethereum-optimism/optimism/l2geth v1.0.0
github.com/ethereum/go-ethereum v1.10.12 github.com/ethereum/go-ethereum v1.10.12
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/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef
) )
replace github.com/ethereum-optimism/optimism/l2geth => ../../l2geth
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