From 72ceffc870a33b6d0ceab5f3ed3a83196b84e3c1 Mon Sep 17 00:00:00 2001 From: WorldDogs <33647825+WorldDogs@users.noreply.github.com> Date: Mon, 20 Jan 2025 17:08:49 +0800 Subject: [PATCH 1/4] fix(tx-submitter): prevent panic by returning error (#713) --- tx-submitter/services/rollup.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tx-submitter/services/rollup.go b/tx-submitter/services/rollup.go index 272c258a6..f946ef339 100644 --- a/tx-submitter/services/rollup.go +++ b/tx-submitter/services/rollup.go @@ -1192,7 +1192,7 @@ func (r *Rollup) ReSubmitTx(resend bool, tx *ethtypes.Transaction) (*ethtypes.Tr tip, gasFeeCap, blobFeeCap, err := r.GetGasTipAndCap() if err != nil { - log.Error("get tip and cap", "err", err) + return nil, fmt.Errorf("get gas tip and cap error:%w", err) } if !resend { // bump tip & feeCap From 01eacdf3a092bb8ac2638f068f03828dd717051b Mon Sep 17 00:00:00 2001 From: WorldDogs <33647825+WorldDogs@users.noreply.github.com> Date: Thu, 23 Jan 2025 15:01:44 +0800 Subject: [PATCH 2/4] fix(tx-submitter): update gas fee cap when replacing tip with min tip (#714) --- tx-submitter/services/rollup.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tx-submitter/services/rollup.go b/tx-submitter/services/rollup.go index f946ef339..3e1de9af0 100644 --- a/tx-submitter/services/rollup.go +++ b/tx-submitter/services/rollup.go @@ -1218,6 +1218,19 @@ func (r *Rollup) ReSubmitTx(resend bool, tx *ethtypes.Transaction) (*ethtypes.Tr if r.cfg.MinTip > 0 && tip.Cmp(big.NewInt(int64(r.cfg.MinTip))) < 0 { log.Info("replace tip is too low, update tip to min tip ", "tip", tip, "min_tip", r.cfg.MinTip) tip = big.NewInt(int64(r.cfg.MinTip)) + // recalc feecap + head, err := r.L1Client.HeaderByNumber(context.Background(), nil) + if err != nil { + return nil, fmt.Errorf("get l1 head error:%w", err) + } + if head.BaseFee != nil { + gasFeeCap = new(big.Int).Add( + tip, + new(big.Int).Mul(head.BaseFee, big.NewInt(2)), + ) + } else { + gasFeeCap = new(big.Int).Set(tip) + } } } From 904c3f2172d44291eba4a1dd03a161fd8d99630f Mon Sep 17 00:00:00 2001 From: WorldDogs <33647825+WorldDogs@users.noreply.github.com> Date: Mon, 3 Mar 2025 17:46:39 +0800 Subject: [PATCH 3/4] small improvements for submitter (#727) * fix last indexed blockbum not load * refactor logs for feesum --- tx-submitter/entry.go | 4 ++++ tx-submitter/event/indexer.go | 4 ++++ tx-submitter/services/rollup.go | 6 +++--- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/tx-submitter/entry.go b/tx-submitter/entry.go index b44be5628..bc5675fcd 100644 --- a/tx-submitter/entry.go +++ b/tx-submitter/entry.go @@ -193,6 +193,10 @@ func Main() func(ctx *cli.Context) error { return fmt.Errorf("failed to connect leveldb: %w", err) } eventInfoStorage := event.NewEventInfoStorage(ldb) + err = eventInfoStorage.Load() + if err != nil { + return err + } eventIndexer := event.NewEventIndexer(l1Client, new(big.Int).SetUint64(cfg.L1StakingDeployedBlockNumber), filter, cfg.EventIndexStep, eventInfoStorage) // new rotator rotator := services.NewRotator(common.HexToAddress(cfg.L2SequencerAddress), common.HexToAddress(cfg.L2GovAddress), eventIndexer) diff --git a/tx-submitter/event/indexer.go b/tx-submitter/event/indexer.go index 0ba87ab5b..ab9058395 100644 --- a/tx-submitter/event/indexer.go +++ b/tx-submitter/event/indexer.go @@ -91,6 +91,9 @@ func (ei *EventIndexer) index(client *ethclient.Client, fromBlock, toBlock *big. endBlock := toBlock.Uint64() startBlock := endBlock - ei.indexStep lastProcessedBlock := fromBlock.Uint64() + if startBlock < lastProcessedBlock { + startBlock = lastProcessedBlock + } logFilter := ei.GetFilter() // Find the last unprocessed log @@ -123,6 +126,7 @@ func (ei *EventIndexer) index(client *ethclient.Client, fromBlock, toBlock *big. } } } + log.Info("backward indexing", "block_num", startBlock, "target_num", lastProcessedBlock) // update query range endBlock = startBlock if endBlock <= lastProcessedBlock+ei.indexStep { diff --git a/tx-submitter/services/rollup.go b/tx-submitter/services/rollup.go index 3e1de9af0..572c536e5 100644 --- a/tx-submitter/services/rollup.go +++ b/tx-submitter/services/rollup.go @@ -1347,7 +1347,7 @@ func (r *Rollup) InitFeeMetricsSum() error { return fmt.Errorf("get data from leveldb faild, key: %s, %w", rollupSumKey, err) } } - log.Info("rollupFeeSum: %f", rollupFeeSum) + log.Info(fmt.Sprintf("rollupFeeSum: %f", rollupFeeSum)) finalizeFeeSum, err := r.ldb.GetFloat(finalizeSumKey) if err != nil { log.Warn("read finalizeFeeSum from leveldb failed", "error", err) @@ -1360,7 +1360,7 @@ func (r *Rollup) InitFeeMetricsSum() error { return fmt.Errorf("get data from leveldb faild, key: %s, %w", finalizeSumKey, err) } } - log.Info("finalizeFeeSum: %f", finalizeFeeSum) + log.Info(fmt.Sprintf("finalizeFeeSum: %f", finalizeFeeSum)) collectedL1FeeSum, err := r.ldb.GetFloat(collectedL1FeeSumKey) if err != nil { log.Warn("read collectedL1FeeSum from leveldb failed", "error", err) @@ -1374,7 +1374,7 @@ func (r *Rollup) InitFeeMetricsSum() error { } } r.collectedL1FeeSum = collectedL1FeeSum - log.Info("collectedL1FeeSum: %f", collectedL1FeeSum) + log.Info(fmt.Sprintf("collectedL1FeeSum: %f", collectedL1FeeSum)) r.rollupFeeSum = rollupFeeSum r.finalizeFeeSum = finalizeFeeSum From 6c9a9737e7aa672c35067a2728e683c69b43bd56 Mon Sep 17 00:00:00 2001 From: WorldDogs <33647825+WorldDogs@users.noreply.github.com> Date: Tue, 4 Mar 2025 12:11:42 +0800 Subject: [PATCH 4/4] Add ChainID to DynamicFeeTx constructor (#728) Co-authored-by: WorldDogs --- tx-submitter/services/rollup.go | 1 + 1 file changed, 1 insertion(+) diff --git a/tx-submitter/services/rollup.go b/tx-submitter/services/rollup.go index 572c536e5..39092b9d9 100644 --- a/tx-submitter/services/rollup.go +++ b/tx-submitter/services/rollup.go @@ -1238,6 +1238,7 @@ func (r *Rollup) ReSubmitTx(resend bool, tx *ethtypes.Transaction) (*ethtypes.Tr switch tx.Type() { case ethtypes.DynamicFeeTxType: newTx = ethtypes.NewTx(ðtypes.DynamicFeeTx{ + ChainID: tx.ChainId(), To: tx.To(), Nonce: tx.Nonce(), GasFeeCap: gasFeeCap,