From 02e504ba93430a0b3aa4fb596d6cfb5ad832a70f Mon Sep 17 00:00:00 2001 From: Roshan Date: Fri, 22 Dec 2023 18:27:36 +0800 Subject: [PATCH] fix: avoid update validators on Feynman block --- consensus/parlia/parlia.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/consensus/parlia/parlia.go b/consensus/parlia/parlia.go index be68ce2ede..d17e1ea208 100644 --- a/consensus/parlia/parlia.go +++ b/consensus/parlia/parlia.go @@ -1177,8 +1177,11 @@ func (p *Parlia) Finalize(chain consensus.ChainHeaderReader, header *types.Heade // update validators every day if p.chainConfig.IsFeynman(header.Number, header.Time) && isBreatheBlock(parent.Time, header.Time) { - if err := p.updateValidatorSetV2(state, header, cx, txs, receipts, systemTxs, usedGas, false); err != nil { - return err + // we should avoid update validators in the Feynman upgrade block + if !p.chainConfig.IsOnFeynman(header.Number, parent.Time, header.Time) { + if err := p.updateValidatorSetV2(state, header, cx, txs, receipts, systemTxs, usedGas, false); err != nil { + return err + } } } @@ -1257,8 +1260,11 @@ func (p *Parlia) FinalizeAndAssemble(chain consensus.ChainHeaderReader, header * // update validators every day if p.chainConfig.IsFeynman(header.Number, header.Time) && isBreatheBlock(parent.Time, header.Time) { - if err := p.updateValidatorSetV2(state, header, cx, &txs, &receipts, nil, &header.GasUsed, true); err != nil { - return nil, nil, err + // we should avoid update validators in the Feynman upgrade block + if !p.chainConfig.IsOnFeynman(header.Number, parent.Time, header.Time) { + if err := p.updateValidatorSetV2(state, header, cx, &txs, &receipts, nil, &header.GasUsed, true); err != nil { + return nil, nil, err + } } }