From 9b07548b7b6be4073fe0d623dd12a4897d9d39e5 Mon Sep 17 00:00:00 2001 From: Debendra Oli Date: Mon, 10 Jun 2024 23:10:30 +0545 Subject: [PATCH] fix: timeout for transcation opts. and unlock route lock when errors --- relayer/chains/evm/provider.go | 2 ++ relayer/chains/evm/route.go | 10 ++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/relayer/chains/evm/provider.go b/relayer/chains/evm/provider.go index b48ed79f..020f0f1a 100644 --- a/relayer/chains/evm/provider.go +++ b/relayer/chains/evm/provider.go @@ -247,6 +247,8 @@ func (p *Provider) GetTransationOpts(ctx context.Context) (*bind.TransactOpts, e if err != nil { return nil, err } + ctx, cancel := context.WithTimeout(ctx, defaultReadTimeout) + defer cancel() txOpts.Nonce = p.NonceTracker.Get(wallet.Address) gasPrice, err := p.client.SuggestGasPrice(ctx) if err != nil { diff --git a/relayer/chains/evm/route.go b/relayer/chains/evm/route.go index 295b9fa0..a6897691 100644 --- a/relayer/chains/evm/route.go +++ b/relayer/chains/evm/route.go @@ -66,13 +66,14 @@ func (p *Provider) SendTransaction(ctx context.Context, opts *bind.TransactOpts, opts.GasLimit = gasLimit + (gasLimit * p.cfg.GasAdjustment / 100) - p.log.Info("gas info", + p.log.Info("transaction info", zap.Uint64("gas_cap", opts.GasFeeCap.Uint64()), zap.Uint64("gas_tip", opts.GasTipCap.Uint64()), zap.Uint64("estimated_limit", gasLimit), zap.Uint64("adjusted_limit", opts.GasLimit), zap.Uint64("nonce", opts.Nonce.Uint64()), zap.String("event_type", message.EventType), + zap.String("src", message.Src), zap.Uint64("sn", message.Sn.Uint64()), ) @@ -148,15 +149,20 @@ func (p *Provider) LogSuccessTx(message *providerTypes.MessageKey, receipt *type zap.String("tx_hash", receipt.TxHash.String()), zap.Int64("height", receipt.BlockNumber.Int64()), zap.Uint64("gas_used", receipt.GasUsed), + zap.String("contract_address", receipt.ContractAddress.Hex()), ) } func (p *Provider) LogFailedTx(messageKey *providerTypes.MessageKey, result *types.Receipt, err error) { - p.log.Info("failed transaction", + p.log.Error("failed transaction", zap.String("tx_hash", result.TxHash.String()), zap.Int64("height", result.BlockNumber.Int64()), zap.Uint64("gas_used", result.GasUsed), zap.Uint("tx_index", result.TransactionIndex), + zap.String("event_type", messageKey.EventType), + zap.Uint64("sn", messageKey.Sn.Uint64()), + zap.String("src", messageKey.Src), + zap.String("contract_address", result.ContractAddress.Hex()), zap.Error(err), ) }