1import * as kcfg from "./common.mjs"2import { klusterCtx } from "../../deployF/k8sF/ctxF/klusterCtxF.mts"3import { getAction } from "../../deployF/ctxF/actionCtxF.mts"4import { doSyncGeth } from "../../deployF/ethF/doSyncGethF.mts"5import { checkpointSyncCtx, doApplyTeku } from "../../deployF/ethF/doSyncTekuF.mts"6import { doSyncMevboost } from "../../deployF/ethF/doSyncMevboostF.mts"7import { ethNetwork, ethRewardAddr } from "../../deployF/ethF/binF/mainnetPlaceholderAI.mjs"8import { gethNodePort, tekuNodePort } from "../../nodeportsF/harv2demo.mjs"9import { handleEthCliActions } from "../../deployF/ethF/handleEthCliActionsAI.mts"10import { isDirectlyRun } from "../../serverF/isDirectlyRunF.mts"11import { mkEthStatusCfg } from "../../deployF/ethF/ethClientTypesAI.mts"12import { guardValidatorJsdemo, getSafeEthVal } from "../../deployF/ethF/binF/guardValidatorAI.mjs"14/** @type {{execClientType: 'geth', consClientType: 'teku'}} */15const ethSyncCfg = {execClientType: 'geth', consClientType: 'teku'}17export const ethStatusCfg = mkEthStatusCfg({18 cluster_name: kcfg.cluster_name,19 ethNetwork,20 importMetaUrl: import.meta.url,21 ...ethSyncCfg,22})24export const exampleName = ethStatusCfg.execClient.fuzzyPodName26if (isDirectlyRun(import.meta.url)) {27 await handleEthCliActions({29 getSafeEthVal, ethNetwork,30 })31 klusterCtx.enterWith(kcfg)33 checkpointSyncCtx.enterWith({ // ctx:clear34 checkpointSyncUrl: 'https://mainnet-checkpoint-sync.attestant.io',35 })37 await doSyncMevboost({image: 'flashbots/mev-boost:1.12'}) // 26041739 await doSyncGeth({40 image: 'ethereum/client-go:v1.17.2', // 26041741 ethNetwork,42 sizeGb: 3000,43 nodePort: gethNodePort,44 networkConfig: null,45 })47 await doApplyTeku({48 eth1ClientName: 'geth',49 ethNetwork,50 ethRewardAddr,51 tekuNodePort,52 enableValidator: false,53 relayHostPort: null,54 wsCheckpointS: null,55 tekuBeaconApiNodePort: null,56 guardValidatorFn: guardValidatorJsdemo,57 image: 'consensys/teku:26.4-jdk21', // 26041758 })59}