🌳
pt0/deployF/ethF/assertEthValidatorSilentAI.mts
3import { DateTime } from 'luxon'
6export const assertEthValidatorSilent = async ({ethValidatorNum, minSilenceSec = 60 * 13}: {
7 ethValidatorNum: number, minSilenceSec?: number,
8}) => {
9 const v: any = await lastValidatedAt({ethValidatorNum})
10 if (v.error) {
11 console.log(`validator ${ethValidatorNum}: no recent attestation (${v.error}), safe`)
12 return
13 }
14 const agoSec = luxNow().diff(DateTime.fromISO(v.iso)).as('seconds')
15 if (agoSec < minSilenceSec) {
16 throw new Error(`validator ${ethValidatorNum}: still attesting — last ${secToHumanAbs(agoSec)} ago, need ${secToHumanAbs(minSilenceSec)} silence`)
17 }
18 console.log(`validator ${ethValidatorNum}: silent for ${secToHumanAbs(agoSec)}, safe`)