Skip to content
This repository has been archived by the owner on Apr 15, 2024. It is now read-only.

Commit

Permalink
Merge branch 'main' into add-home-to-query-command
Browse files Browse the repository at this point in the history
  • Loading branch information
rach-id authored Nov 28, 2023
2 parents 408de1d + 577f257 commit a197180
Show file tree
Hide file tree
Showing 16 changed files with 101 additions and 58 deletions.
8 changes: 4 additions & 4 deletions benchmark/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ func main() {
func DeployContractAndSubmitDataCommitment() error {
logger := tmlog.NewTMLogger(os.Stdout)

path, err := os.MkdirTemp(os.TempDir(), "qgb_bench")
path, err := os.MkdirTemp(os.TempDir(), "blobstream_bench")
if err != nil {
return nil
}
Expand Down Expand Up @@ -107,13 +107,13 @@ func DeployContractAndSubmitDataCommitment() error {

address, tx, bridge, err := evmClient.DeployBlobstreamContract(txOpts, backend, vs, vs.Nonce, true)
if err != nil {
logger.Error("failed to deploy QGB contract")
logger.Error("failed to deploy Blobstream contract")
return err
}

receipt, err := evmClient.WaitForTransaction(ctx, backend, tx)
receipt, err := evmClient.WaitForTransaction(ctx, backend, tx, time.Minute)
if err == nil && receipt != nil && receipt.Status == 1 {
logger.Info("deployed QGB contract", "proxy_address", address.Hex(), "tx_hash", tx.Hash().String())
logger.Info("deployed Blobstream contract", "proxy_address", address.Hex(), "tx_hash", tx.Hash().String())
}

txOpts.Nonce.Add(txOpts.Nonce, big.NewInt(1))
Expand Down
18 changes: 18 additions & 0 deletions cmd/blobstream/base/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ const (
FlagEVMRPC = "evm.rpc"
FlagEVMGasLimit = "evm.gas-limit"
FlagEVMContractAddress = "evm.contract-address"
FlagEVMRetryTimeout = "evm.retry-timeout"

FlagCoreGRPC = "core.grpc"
FlagCoreRPC = "core.rpc"
Expand Down Expand Up @@ -337,3 +338,20 @@ func GetLogger(level string, format string) (tmlog.Logger, error) {

return server.ZeroLogWrapper{Logger: zerolog.New(logWriter).Level(logLvl).With().Timestamp().Logger()}, nil
}

func GetEVMRetryTimeoutFlag(cmd *cobra.Command) (uint64, bool, error) {
changed := cmd.Flags().Changed(FlagEVMRetryTimeout)
val, err := cmd.Flags().GetUint64(FlagEVMRetryTimeout)
if err != nil {
return 0, changed, err
}
return val, changed, nil
}

func AddEVMRetryTimeoutFlag(cmd *cobra.Command) {
cmd.Flags().Uint64(
FlagEVMRetryTimeout,
15,
"The time, in minutes, to wait for transactions to be mined on the target EVM chain before recreating them with a different gas price",
)
}
3 changes: 2 additions & 1 deletion cmd/blobstream/deploy/cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package deploy
import (
"context"
"strconv"
"time"

"github.com/celestiaorg/orchestrator-relayer/cmd/blobstream/base"

Expand Down Expand Up @@ -138,7 +139,7 @@ func Command() *cobra.Command {
return err
}

receipt, err := evmClient.WaitForTransaction(cmd.Context(), backend, tx)
receipt, err := evmClient.WaitForTransaction(cmd.Context(), backend, tx, 5*time.Minute)
if err == nil && receipt != nil && receipt.Status == 1 {
logger.Info("deployed Blobstream contract", "proxy_address", address.Hex(), "tx_hash", tx.Hash().String())
}
Expand Down
1 change: 1 addition & 0 deletions cmd/blobstream/relayer/cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ func Start() *cobra.Command {
logger,
retrier,
s.SignatureStore,
time.Duration(config.EVMRetryTimeout)*time.Minute,
)

// Listen for and trap any OS signal to graceful shutdown and exit
Expand Down
57 changes: 36 additions & 21 deletions cmd/blobstream/relayer/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,10 @@ contract-address = "{{ .ContractAddr }}"
# Evm gas limit.
gas-limit = "{{ .EvmGasLimit }}"
# The time, in minutes, to wait for transactions to be mined
# on the target EVM chain before recreating them with a different gas price.
retry-timeout = "{{ .EVMRetryTimeout }}"
`

func addRelayerStartFlags(cmd *cobra.Command) *cobra.Command {
Expand All @@ -85,37 +89,40 @@ func addRelayerStartFlags(cmd *cobra.Command) *cobra.Command {
base.AddGRPCInsecureFlag(cmd)
base.AddLogLevelFlag(cmd)
base.AddLogFormatFlag(cmd)
base.AddEVMRetryTimeoutFlag(cmd)

return cmd
}

type StartConfig struct {
base.Config
EvmChainID uint64 `mapstructure:"evm-chain-id" json:"evm-chain-id"`
EvmRPC string `mapstructure:"evm-rpc" json:"evm-rpc"`
CoreGRPC string `mapstructure:"core-grpc" json:"core-grpc"`
CoreRPC string `mapstructure:"core-rpc" json:"core-rpc"`
evmAccAddress string
ContractAddr string `mapstructure:"contract-address" json:"contract-address"`
EvmGasLimit uint64 `mapstructure:"gas-limit" json:"gas-limit"`
Bootstrappers string `mapstructure:"bootstrappers" json:"bootstrappers"`
P2PListenAddr string `mapstructure:"listen-addr" json:"listen-addr"`
p2pNickname string
GrpcInsecure bool `mapstructure:"grpc-insecure" json:"grpc-insecure"`
LogLevel string
LogFormat string
EvmChainID uint64 `mapstructure:"evm-chain-id" json:"evm-chain-id"`
EvmRPC string `mapstructure:"evm-rpc" json:"evm-rpc"`
CoreGRPC string `mapstructure:"core-grpc" json:"core-grpc"`
CoreRPC string `mapstructure:"core-rpc" json:"core-rpc"`
evmAccAddress string
ContractAddr string `mapstructure:"contract-address" json:"contract-address"`
EvmGasLimit uint64 `mapstructure:"gas-limit" json:"gas-limit"`
Bootstrappers string `mapstructure:"bootstrappers" json:"bootstrappers"`
P2PListenAddr string `mapstructure:"listen-addr" json:"listen-addr"`
p2pNickname string
GrpcInsecure bool `mapstructure:"grpc-insecure" json:"grpc-insecure"`
LogLevel string
LogFormat string
EVMRetryTimeout uint64 `mapstructure:"retry-timeout" json:"retry-timeout"`
}

func DefaultStartConfig() *StartConfig {
return &StartConfig{
CoreRPC: "tcp://localhost:26657",
CoreGRPC: "localhost:9090",
Bootstrappers: "",
P2PListenAddr: "/ip4/0.0.0.0/tcp/30000",
GrpcInsecure: true,
EvmChainID: 5,
EvmRPC: "http://localhost:8545",
EvmGasLimit: 2500000,
CoreRPC: "tcp://localhost:26657",
CoreGRPC: "localhost:9090",
Bootstrappers: "",
P2PListenAddr: "/ip4/0.0.0.0/tcp/30000",
GrpcInsecure: true,
EvmChainID: 5,
EvmRPC: "http://localhost:8545",
EvmGasLimit: 2500000,
EVMRetryTimeout: 15,
}
}

Expand Down Expand Up @@ -241,6 +248,14 @@ func parseRelayerStartFlags(cmd *cobra.Command, fileConfig *StartConfig) (StartC
}
fileConfig.LogFormat = logFormat

retryTimeout, changed, err := base.GetEVMRetryTimeoutFlag(cmd)
if err != nil {
return StartConfig{}, err
}
if changed {
fileConfig.EVMRetryTimeout = retryTimeout
}

return *fileConfig, nil
}

Expand Down
4 changes: 2 additions & 2 deletions e2e/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ require (
github.com/tendermint/tm-db v0.6.7 // indirect
golang.org/x/crypto v0.14.0 // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/sys v0.14.0 // indirect
golang.org/x/term v0.14.0 // indirect
golang.org/x/sys v0.15.0 // indirect
golang.org/x/term v0.15.0 // indirect
google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97 // indirect
google.golang.org/grpc v1.59.0
)
Expand Down
8 changes: 4 additions & 4 deletions e2e/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -2308,16 +2308,16 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q=
golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210503060354-a79de5458b56/go.mod h1:tfny5GFUkzUvx4ps4ajbZsCe5lw1metzhBm9T3x7oIY=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.14.0 h1:LGK9IlZ8T9jvdy6cTdfKUCltatMFOehAQo9SRC46UQ8=
golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww=
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
Expand Down
9 changes: 7 additions & 2 deletions evm/evm_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"context"
"errors"
"math/big"
"time"

"github.com/ethereum/go-ethereum/accounts"
"github.com/ethereum/go-ethereum/accounts/keystore"
Expand Down Expand Up @@ -82,7 +83,7 @@ func (ec *Client) DeployBlobstreamContract(
return gethcommon.Address{}, nil, nil, err
}

ec.logger.Info("deploying QGB implementation contract...", "address", impAddr.Hex(), "tx_hash", impTx.Hash().Hex())
ec.logger.Info("deploying Blobstream implementation contract...", "address", impAddr.Hex(), "tx_hash", impTx.Hash().Hex())

// encode the Blobstream contract initialization data using the chain parameters
ethVsCheckpoint, err := contractInitValset.SignBytes()
Expand All @@ -109,7 +110,7 @@ func (ec *Client) DeployBlobstreamContract(
return gethcommon.Address{}, nil, nil, err
}

ec.logger.Info("deploying QGB proxy contract...", "address", proxyAddr, "tx_hash", tx.Hash().Hex())
ec.logger.Info("deploying Blobstream proxy contract...", "address", proxyAddr, "tx_hash", tx.Hash().Hex())

bridge, err := blobstreamwrapper.NewWrappers(proxyAddr, contractBackend)
if err != nil {
Expand Down Expand Up @@ -228,9 +229,13 @@ func (ec *Client) WaitForTransaction(
ctx context.Context,
backend bind.DeployBackend,
tx *coregethtypes.Transaction,
timeout time.Duration,
) (*coregethtypes.Receipt, error) {
ec.logger.Debug("waiting for transaction to be confirmed", "hash", tx.Hash().String())

ctx, cancel := context.WithTimeout(ctx, timeout)
defer cancel()

receipt, err := bind.WaitMined(ctx, backend, tx)
if err == nil && receipt != nil && receipt.Status == 1 {
ec.logger.Info("transaction confirmed", "hash", tx.Hash().String(), "block", receipt.BlockNumber.Uint64())
Expand Down
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ require (
github.com/tendermint/tm-db v0.6.7 // indirect
golang.org/x/crypto v0.14.0 // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/sys v0.14.0 // indirect
golang.org/x/term v0.14.0
golang.org/x/sys v0.15.0 // indirect
golang.org/x/term v0.15.0
google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97 // indirect
google.golang.org/grpc v1.59.0
)
Expand Down
8 changes: 4 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -2008,14 +2008,14 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q=
golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.14.0 h1:LGK9IlZ8T9jvdy6cTdfKUCltatMFOehAQo9SRC46UQ8=
golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww=
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
Expand Down
10 changes: 5 additions & 5 deletions orchestrator/orchestrator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"time"

"github.com/celestiaorg/celestia-app/test/util/testnode"
qgbtesting "github.com/celestiaorg/orchestrator-relayer/testing"
blobstreamtesting "github.com/celestiaorg/orchestrator-relayer/testing"

"github.com/celestiaorg/celestia-app/app"
"github.com/celestiaorg/celestia-app/app/encoding"
Expand Down Expand Up @@ -198,13 +198,13 @@ func TestProcessWithoutValsetInStore(t *testing.T) {
defer cancel()

codec := encoding.MakeConfig(app.ModuleEncodingRegisters...).Codec
node := qgbtesting.NewTestNode(
node := blobstreamtesting.NewTestNode(
ctx,
t,
qgbtesting.CelestiaNetworkParams{
blobstreamtesting.CelestiaNetworkParams{
GenesisOpts: []testnode.GenesisOption{
testnode.ImmediateProposals(codec),
qgbtesting.SetDataCommitmentWindowParams(codec, celestiatypes.Params{DataCommitmentWindow: 101}),
blobstreamtesting.SetDataCommitmentWindowParams(codec, celestiatypes.Params{DataCommitmentWindow: 101}),
},
TimeIotaMs: 6048000, // to have enough time to sign attestations after they're pruned
Pruning: "default",
Expand All @@ -214,7 +214,7 @@ func TestProcessWithoutValsetInStore(t *testing.T) {
_, err := node.CelestiaNetwork.WaitForHeight(400)
require.NoError(t, err)

orch := qgbtesting.NewOrchestrator(t, node)
orch := blobstreamtesting.NewOrchestrator(t, node)

latestNonce, err := orch.AppQuerier.QueryLatestAttestationNonce(ctx)
require.NoError(t, err)
Expand Down
5 changes: 4 additions & 1 deletion relayer/relayer.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ type Relayer struct {
logger tmlog.Logger
Retrier *helpers.Retrier
SignatureStore *badger.Datastore
RetryTimeout time.Duration
}

func NewRelayer(
Expand All @@ -48,6 +49,7 @@ func NewRelayer(
logger tmlog.Logger,
retrier *helpers.Retrier,
sigStore *badger.Datastore,
retryTimeout time.Duration,
) *Relayer {
return &Relayer{
TmQuerier: tmQuerier,
Expand All @@ -57,6 +59,7 @@ func NewRelayer(
logger: logger,
Retrier: retrier,
SignatureStore: sigStore,
RetryTimeout: retryTimeout,
}
}

Expand Down Expand Up @@ -111,7 +114,7 @@ func (r *Relayer) Start(ctx context.Context) error {
}

// wait for transaction to be mined
_, err = r.EVMClient.WaitForTransaction(ctx, ethClient, tx)
_, err = r.EVMClient.WaitForTransaction(ctx, ethClient, tx, r.RetryTimeout)
if err != nil {
return err
}
Expand Down
16 changes: 8 additions & 8 deletions relayer/relayer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (
"github.com/celestiaorg/celestia-app/app"
"github.com/celestiaorg/celestia-app/app/encoding"
"github.com/celestiaorg/celestia-app/test/util/testnode"
qgbtesting "github.com/celestiaorg/orchestrator-relayer/testing"
blobstreamtesting "github.com/celestiaorg/orchestrator-relayer/testing"

"github.com/celestiaorg/orchestrator-relayer/p2p"
"github.com/ipfs/go-datastore"
Expand Down Expand Up @@ -40,7 +40,7 @@ func (s *RelayerTestSuite) TestProcessAttestation() {

tx, err := s.Relayer.ProcessAttestation(ctx, s.Node.EVMChain.Auth, att)
require.NoError(t, err)
receipt, err := s.Relayer.EVMClient.WaitForTransaction(ctx, s.Node.EVMChain.Backend, tx)
receipt, err := s.Relayer.EVMClient.WaitForTransaction(ctx, s.Node.EVMChain.Backend, tx, 20*time.Second)
assert.NoError(t, err)
assert.Equal(t, uint64(1), receipt.Status)

Expand All @@ -60,13 +60,13 @@ func TestUseValsetFromP2P(t *testing.T) {
defer cancel()

codec := encoding.MakeConfig(app.ModuleEncodingRegisters...).Codec
node := qgbtesting.NewTestNode(
node := blobstreamtesting.NewTestNode(
ctx,
t,
qgbtesting.CelestiaNetworkParams{
blobstreamtesting.CelestiaNetworkParams{
GenesisOpts: []testnode.GenesisOption{
testnode.ImmediateProposals(codec),
qgbtesting.SetDataCommitmentWindowParams(codec, types.Params{DataCommitmentWindow: 101}),
blobstreamtesting.SetDataCommitmentWindowParams(codec, types.Params{DataCommitmentWindow: 101}),
},
TimeIotaMs: 2000000, // so attestations are pruned after they're queried
Pruning: "default",
Expand All @@ -75,7 +75,7 @@ func TestUseValsetFromP2P(t *testing.T) {
)

// process valset nonce so that it is added to the DHT
orch := qgbtesting.NewOrchestrator(t, node)
orch := blobstreamtesting.NewOrchestrator(t, node)
vs, err := orch.AppQuerier.QueryLatestValset(ctx)
require.NoError(t, err)
err = orch.ProcessValsetEvent(ctx, *vs)
Expand Down Expand Up @@ -104,7 +104,7 @@ func TestUseValsetFromP2P(t *testing.T) {
err = orch.ProcessDataCommitmentEvent(ctx, *att, dataRootTupleRoot)
require.NoError(t, err)

relayer := qgbtesting.NewRelayer(t, node)
relayer := blobstreamtesting.NewRelayer(t, node)
go node.EVMChain.PeriodicCommit(ctx, time.Millisecond)
_, _, _, err = relayer.EVMClient.DeployBlobstreamContract(node.EVMChain.Auth, node.EVMChain.Backend, *latestValset.ToValset(), latestValset.Nonce, true)
require.NoError(t, err)
Expand All @@ -113,7 +113,7 @@ func TestUseValsetFromP2P(t *testing.T) {
tx, err := relayer.ProcessAttestation(ctx, node.EVMChain.Auth, att)
require.NoError(t, err)

receipt, err := relayer.EVMClient.WaitForTransaction(ctx, node.EVMChain.Backend, tx)
receipt, err := relayer.EVMClient.WaitForTransaction(ctx, node.EVMChain.Backend, tx, 20*time.Second)
assert.NoError(t, err)
assert.Equal(t, uint64(1), receipt.Status)

Expand Down
Loading

0 comments on commit a197180

Please sign in to comment.