import("context""github.com/ethereum-optimism/optimism/op-node/client""github.com/ethereum-optimism/optimism/op-node/sources""github.com/ethereum/go-ethereum/ethclient""github.com/ethereum/go-ethereum/rpc")// dialEthClientWithTimeout attempts to dial the L1 provider using the provided// URL. If the dial doesn't complete within defaultDialTimeout seconds, this// method will return an error.funcdialEthClientWithTimeout(ctxcontext.Context,urlstring)(*ethclient.Client,error){ctxt,cancel:=context.WithTimeout(ctx,defaultDialTimeout)defercancel()returnethclient.DialContext(ctxt,url)}// dialRollupClientWithTimeout attempts to dial the RPC provider using the provided// URL. If the dial doesn't complete within defaultDialTimeout seconds, this// method will return an error.funcdialRollupClientWithTimeout(ctxcontext.Context,urlstring)(*sources.RollupClient,error){ctxt,cancel:=context.WithTimeout(ctx,defaultDialTimeout)defercancel()rpcCl,err:=rpc.DialContext(ctxt,url)iferr!=nil{returnnil,err}returnsources.NewRollupClient(client.NewBaseRPCClient(rpcCl)),nil}