From 69d42c2ea3010efa1798207150b68b99cb0dea40 Mon Sep 17 00:00:00 2001 From: zhangkai Date: Thu, 26 Sep 2024 17:44:28 +0800 Subject: [PATCH 1/2] check tx to address to avoid panic --- pool/pool_xlayer.go | 4 +++- sequencer/sequencer_xlayer.go | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pool/pool_xlayer.go b/pool/pool_xlayer.go index e6d2e16713..39772d9a4c 100644 --- a/pool/pool_xlayer.go +++ b/pool/pool_xlayer.go @@ -8,9 +8,10 @@ import ( "sync" "time" + "github.com/ethereum/go-ethereum/common" + "github.com/0xPolygonHermez/zkevm-node/hex" "github.com/0xPolygonHermez/zkevm-node/log" - "github.com/ethereum/go-ethereum/common" ) const ( @@ -134,6 +135,7 @@ func (p *Pool) checkFreeGp(ctx context.Context, poolTx Transaction, from common. fromToName, freeGpList := GetSpecialFreeGasList(p.cfg.FreeGasList) info := freeGpList[fromToName[from.String()]] if info != nil && + poolTx.To() != nil && Contains(info.ToList, *poolTx.To()) && ContainsMethod("0x"+common.Bytes2Hex(poolTx.Data()), info.MethodSigs) { return true, nil diff --git a/sequencer/sequencer_xlayer.go b/sequencer/sequencer_xlayer.go index 3a27452f22..ac706f13f6 100644 --- a/sequencer/sequencer_xlayer.go +++ b/sequencer/sequencer_xlayer.go @@ -5,11 +5,12 @@ import ( "math/big" "time" + "github.com/ethereum/go-ethereum/common" + "github.com/0xPolygonHermez/zkevm-node/log" "github.com/0xPolygonHermez/zkevm-node/pool" pmetric "github.com/0xPolygonHermez/zkevm-node/sequencer/metrics" "github.com/0xPolygonHermez/zkevm-node/state" - "github.com/ethereum/go-ethereum/common" ) var countinterval = 10 @@ -55,6 +56,7 @@ func (s *Sequencer) checkFreeGas(tx pool.Transaction, txTracker *TxTracker) (fre fromToName, freeGpList := pool.GetSpecialFreeGasList(s.poolCfg.FreeGasList) info := freeGpList[fromToName[txTracker.FromStr]] if info != nil && + tx.To() != nil && pool.Contains(info.ToList, *tx.To()) && pool.ContainsMethod("0x"+common.Bytes2Hex(tx.Data()), info.MethodSigs) { gpMul = info.GasPriceMultiple From 042416bbadc1bfbe9be59bcbdc001a6e2404b2e6 Mon Sep 17 00:00:00 2001 From: zhangkai Date: Thu, 26 Sep 2024 17:55:15 +0800 Subject: [PATCH 2/2] lint code --- pool/pool_xlayer.go | 3 +-- sequencer/sequencer_xlayer.go | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/pool/pool_xlayer.go b/pool/pool_xlayer.go index 39772d9a4c..1d66670efe 100644 --- a/pool/pool_xlayer.go +++ b/pool/pool_xlayer.go @@ -8,10 +8,9 @@ import ( "sync" "time" - "github.com/ethereum/go-ethereum/common" - "github.com/0xPolygonHermez/zkevm-node/hex" "github.com/0xPolygonHermez/zkevm-node/log" + "github.com/ethereum/go-ethereum/common" ) const ( diff --git a/sequencer/sequencer_xlayer.go b/sequencer/sequencer_xlayer.go index ac706f13f6..f2ed6f1c44 100644 --- a/sequencer/sequencer_xlayer.go +++ b/sequencer/sequencer_xlayer.go @@ -5,12 +5,11 @@ import ( "math/big" "time" - "github.com/ethereum/go-ethereum/common" - "github.com/0xPolygonHermez/zkevm-node/log" "github.com/0xPolygonHermez/zkevm-node/pool" pmetric "github.com/0xPolygonHermez/zkevm-node/sequencer/metrics" "github.com/0xPolygonHermez/zkevm-node/state" + "github.com/ethereum/go-ethereum/common" ) var countinterval = 10