@@ -236,14 +236,17 @@ type Config struct {
236236 GossipSequencerHTTP string
237237 GossipBroadcastToAllEnabled bool
238238 GossipBroadcastToAllCap int
239+
240+ // Skip signer check for the SystemContract engine
241+ SkipSignerCheck bool
239242}
240243
241244// CreateConsensusEngine creates a consensus engine for the given chain configuration.
242- func CreateConsensusEngine (stack * node.Node , chainConfig * params.ChainConfig , config * ethash.Config , notify []string , noverify bool , db ethdb.Database , l1Client sync_service.EthClient ) consensus.Engine {
245+ func CreateConsensusEngine (stack * node.Node , chainConfig * params.ChainConfig , config * ethash.Config , notify []string , noverify bool , db ethdb.Database , l1Client sync_service.EthClient , skipSignerCheck bool ) consensus.Engine {
243246 // Case 1: Both SystemContract and Clique are defined: create an upgradable engine.
244247 if chainConfig .SystemContract != nil && chainConfig .Clique != nil {
245248 cliqueEngine := clique .New (chainConfig .Clique , db )
246- sysEngine := system_contract .New (context .Background (), chainConfig .SystemContract , l1Client )
249+ sysEngine := system_contract .New (context .Background (), chainConfig .SystemContract , l1Client , skipSignerCheck )
247250 sysEngine .Start ()
248251 return wrapper .NewUpgradableEngine (chainConfig .IsEuclidV2 , cliqueEngine , sysEngine )
249252 }
@@ -255,7 +258,7 @@ func CreateConsensusEngine(stack *node.Node, chainConfig *params.ChainConfig, co
255258
256259 // Case 3: Only the SystemContract engine is defined.
257260 if chainConfig .SystemContract != nil {
258- sysEngine := system_contract .New (context .Background (), chainConfig .SystemContract , l1Client )
261+ sysEngine := system_contract .New (context .Background (), chainConfig .SystemContract , l1Client , skipSignerCheck )
259262 sysEngine .Start ()
260263 return sysEngine
261264 }
0 commit comments