@@ -164,13 +164,43 @@ func (a *Application) createBeaconConfig(address string) *ethereum.Config {
164164 if int (a .config .AttestationSubnetCheck .MaxSubnets ) != 0 {
165165 config .AttestationSubnetConfig .MaxSubnets = int (a .config .AttestationSubnetCheck .MaxSubnets )
166166 }
167+
168+ // Apply mismatch detection settings if provided
169+ if a .config .AttestationSubnetCheck .MismatchDetectionWindow != 0 {
170+ config .AttestationSubnetConfig .MismatchDetectionWindow = int (a .config .AttestationSubnetCheck .MismatchDetectionWindow )
171+ }
172+
173+ if a .config .AttestationSubnetCheck .MismatchThreshold != 0 {
174+ config .AttestationSubnetConfig .MismatchThreshold = int (a .config .AttestationSubnetCheck .MismatchThreshold )
175+ }
176+
177+ if a .config .AttestationSubnetCheck .MismatchCooldownSeconds != 0 {
178+ config .AttestationSubnetConfig .MismatchCooldownSeconds = int (a .config .AttestationSubnetCheck .MismatchCooldownSeconds )
179+ }
180+
181+ if a .config .AttestationSubnetCheck .SubnetHighWaterMark != 0 {
182+ config .AttestationSubnetConfig .SubnetHighWaterMark = int (a .config .AttestationSubnetCheck .SubnetHighWaterMark )
183+ }
167184 }
168185
169186 return config
170187}
171188
172189// createTopicManager creates and configures a topic manager for the beacon node.
173190func (a * Application ) createTopicManager (ctx context.Context , log logrus.FieldLogger , config * ethereum.Config ) (ethereum.TopicManager , error ) {
191+ // Log attestation subnet configuration
192+ if config .AttestationSubnetConfig .Enabled {
193+ log .WithFields (logrus.Fields {
194+ "max_subnets" : config .AttestationSubnetConfig .MaxSubnets ,
195+ "mismatch_detection_window" : config .AttestationSubnetConfig .MismatchDetectionWindow ,
196+ "mismatch_threshold" : config .AttestationSubnetConfig .MismatchThreshold ,
197+ "mismatch_cooldown_seconds" : config .AttestationSubnetConfig .MismatchCooldownSeconds ,
198+ "subnet_high_water_mark" : config .AttestationSubnetConfig .SubnetHighWaterMark ,
199+ }).Info ("Attestation subnet checking enabled" )
200+ } else {
201+ log .Info ("Attestation subnet checking disabled" )
202+ }
203+
174204 topicManager := ethereum .NewTopicManager (log , & ethereum.TopicConfig {
175205 AllTopics : ethereum .GetDefaultAllTopics (),
176206 OptInTopics : ethereum .GetOptInTopics (),
0 commit comments