Skip to content

Commit

Permalink
feat: bundle simulation based on real inturn header (#57)
Browse files Browse the repository at this point in the history
  • Loading branch information
irrun authored Nov 11, 2024
1 parent d07ee29 commit 11a7027
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion miner/miner.go
Original file line number Diff line number Diff line change
Expand Up @@ -355,13 +355,28 @@ func (miner *Miner) prepareSimulationEnv(parent *types.Header, state *state.Stat
timestamp = int64(parent.Time + 1)
}

// take the next in-turn validator as coinbase
coinbase, err := miner.worker.engine.NextInTurnValidator(miner.worker.chain, parent)
if err != nil {
log.Error("Failed to get next in-turn validator", "err", err)
return nil, err
}

// set validator to the consensus engine
if posa, ok := miner.worker.engine.(consensus.PoSA); ok {
posa.SetValidator(coinbase)
} else {
log.Error("Consensus engine does not support validator setting")
return nil, err
}

header := &types.Header{
ParentHash: parent.Hash(),
Number: new(big.Int).Add(parent.Number, common.Big1),
GasLimit: core.CalcGasLimitForBuilder(parent.GasLimit, miner.worker.config.GasCeil),
Extra: miner.worker.extra,
Time: uint64(timestamp),
Coinbase: miner.worker.etherbase(),
Coinbase: coinbase,
}

// Set baseFee and GasLimit if we are on an EIP-1559 chain
Expand Down

0 comments on commit 11a7027

Please sign in to comment.