194194 summaries: array [2 , EpochSummary ] # We monitor the current and previous epochs
195195
196196 ValidatorMonitor * = object
197- timeParams: TimeParams
197+ cfg: RuntimeConfig
198198
199199 epoch: Epoch # The most recent epoch seen in monitoring
200200
@@ -261,10 +261,10 @@ proc addAutoMonitor*(
261261
262262func init * (
263263 T: type ValidatorMonitor ,
264- timeParams: TimeParams ,
264+ cfg: RuntimeConfig ,
265265 autoRegister = false ,
266266 totals = false ): T =
267- T (timeParams: timeParams , autoRegister: autoRegister, totals: totals)
267+ T (cfg: cfg , autoRegister: autoRegister, totals: totals)
268268
269269template summaryIdx (epoch: Epoch ): int = (epoch.uint64 mod 2 ).int
270270
@@ -665,7 +665,9 @@ proc registerAttestation*(
665665 attestation: phase0.Attestation | SingleAttestation , idx: ValidatorIndex ) =
666666 let
667667 slot = attestation.data.slot
668- delay = seen_timestamp - slot.attestation_deadline (self.timeParams)
668+ consensusFork = self.cfg.consensusForkAtEpoch (slot.epoch)
669+ delay = seen_timestamp - slot.attestation_deadline (
670+ self.cfg.timeParams, consensusFork)
669671
670672 self.withMonitor (idx):
671673 let id = monitor.id
@@ -690,7 +692,9 @@ proc registerAggregate*(
690692 attesting_indices: openArray [ValidatorIndex ]) =
691693 let
692694 slot = aggregate_and_proof.aggregate.data.slot
693- delay = seen_timestamp - slot.aggregate_deadline (self.timeParams)
695+ consensusFork = self.cfg.consensusForkAtEpoch (slot.epoch)
696+ delay = seen_timestamp - slot.aggregate_deadline (
697+ self.cfg.timeParams, consensusFork)
694698 aggregator_index = aggregate_and_proof.aggregator_index
695699
696700 self.withMonitor (aggregator_index):
@@ -761,7 +765,7 @@ proc registerBeaconBlock*(
761765 let
762766 id = monitor.id
763767 slot = blck.slot
764- delay = seen_timestamp - slot.block_deadline (self.timeParams)
768+ delay = seen_timestamp - slot.block_deadline (self.cfg. timeParams)
765769
766770 validator_monitor_beacon_block.inc (1 , [$ src, metricId])
767771 validator_monitor_beacon_block_delay_seconds.observe (
@@ -780,8 +784,9 @@ proc registerSyncCommitteeMessage*(
780784 let
781785 id = monitor.id
782786 slot = sync_committee_message.slot
783- delay = seen_timestamp -
784- slot.sync_committee_message_deadline (self.timeParams)
787+ consensusFork = self.cfg.consensusForkAtEpoch (slot.epoch)
788+ delay = seen_timestamp - slot.sync_committee_message_deadline (
789+ self.cfg.timeParams, consensusFork)
785790
786791 validator_monitor_sync_committee_messages.inc (1 , [$ src, metricId])
787792 validator_monitor_sync_committee_messages_delay_seconds.observe (
@@ -804,7 +809,9 @@ proc registerSyncContribution*(
804809 participants: openArray [ValidatorIndex ]) =
805810 let
806811 slot = contribution_and_proof.contribution.slot
807- delay = seen_timestamp - slot.sync_contribution_deadline (self.timeParams)
812+ consensusFork = self.cfg.consensusForkAtEpoch (slot.epoch)
813+ delay = seen_timestamp - slot.sync_contribution_deadline (
814+ self.cfg.timeParams, consensusFork)
808815
809816 let aggregator_index = contribution_and_proof.aggregator_index
810817 self.withMonitor (aggregator_index):
0 commit comments