From 69618f9a0b15db66908d4026c0f06e3f450c86a7 Mon Sep 17 00:00:00 2001 From: tazhate Date: Sun, 14 Jun 2026 10:50:25 +0300 Subject: [PATCH 1/2] fix(registry): repoint 11 moved node repos, drop polygon-zkevm tracking MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit versioncheck flagged 12 chains whose VersionPolicy pointed at dead repos (404). Found and live-verified the current home for each via the registry tag APIs: kava docker.io kava-labs/kava -> kava/kava (v…-goleveldb tags) sei docker.io seiprotocol/seid -> ghcr.io sei-protocol/sei dymension docker.io dymensionxyz/dymd-> ghcr.io dymensionxyz/dymension (no v) solana docker.io solanalabs/agave -> docker.io anzaxyz/agave (Anza org) core docker.io coredao/core-chain -> ghcr.io coredao-org/core-chain (no v) metis docker.io metisprotocol/l2geth -> docker.io metisdao/l2geth taiko docker.io taikoxyz/taiko-geth -> GAR evmchain/images/taiko-geth manta-pacific docker.io mantanetwork/op-geth -> ECR i6b2w2n6/op-geth plasma docker.io plasma-next/node -> ghcr.io plasmalaboratories/plasma-consensus-public OP-Stack chains whose own fork image vanished now ride the shared upstream op-geth GAR image (geth-compatible, same as base/optimism): boba-eth (Boba dropped its op-geth fork), hashkey (no HashKey image; its own fullnode-sync pulls upstream op-geth). polygon-zkevm: zkevm-node is archived (deprecated for cdk-erigon, a different client). Dropped its VersionPolicy to stop the 404 churn rather than blind-swap the image — a real cdk-erigon migration needs new adapter args and is tracked separately. Default image left pinned. Context: spun up four parallel research passes over the 12 chains, then re-verified every replacement myself against Docker Hub / GHCR (with the OCI Accept header) / GAR / ECR-public tag APIs before touching code. Ran versioncheck per chain — all 11 now resolve with no registry error, polygon-zkevm drops out. Build, vet and adapter tests green. ~2h total. --- internal/adapters/boba_eth.go | 6 +++--- internal/adapters/core.go | 6 +++--- internal/adapters/dymension.go | 6 +++--- internal/adapters/hashkey.go | 6 +++--- internal/adapters/kava.go | 4 ++-- internal/adapters/manta_pacific.go | 6 +++--- internal/adapters/metis.go | 2 +- internal/adapters/plasma.go | 6 +++--- internal/adapters/polygon_zkevm.go | 8 -------- internal/adapters/sei.go | 4 ++-- internal/adapters/solana.go | 2 +- internal/adapters/taiko.go | 4 ++-- internal/adapters/versions_gen.go | 22 +++++++++++----------- 13 files changed, 37 insertions(+), 45 deletions(-) diff --git a/internal/adapters/boba_eth.go b/internal/adapters/boba_eth.go index ad18773..281c45d 100644 --- a/internal/adapters/boba_eth.go +++ b/internal/adapters/boba_eth.go @@ -90,9 +90,9 @@ func (a *bobaEthAdapter) DefaultResources() ResourceDefaults { func (a *bobaEthAdapter) VersionPolicy() ChainVersionPolicy { return ChainVersionPolicy{ - Registry: "docker.io", - Repository: "bobanetwork/op-geth", - TagPattern: `^v\d+\.\d+\.\d+\.\d+$`, + Registry: "us-docker.pkg.dev", + Repository: "oplabs-tools-artifacts/images/op-geth", + TagPattern: `^v\d+\.\d+`, } } diff --git a/internal/adapters/core.go b/internal/adapters/core.go index 328b39e..cd5cbf9 100644 --- a/internal/adapters/core.go +++ b/internal/adapters/core.go @@ -81,9 +81,9 @@ func (a *coreAdapter) DefaultResources() ResourceDefaults { func (a *coreAdapter) VersionPolicy() ChainVersionPolicy { return ChainVersionPolicy{ - Registry: "docker.io", - Repository: "coredao/core-chain", - TagPattern: `^v\d+\.\d+\.\d+$`, + Registry: "ghcr.io", + Repository: "coredao-org/core-chain", + TagPattern: `^\d+\.\d+\.\d+$`, } } diff --git a/internal/adapters/dymension.go b/internal/adapters/dymension.go index 4c00895..250e344 100644 --- a/internal/adapters/dymension.go +++ b/internal/adapters/dymension.go @@ -184,8 +184,8 @@ func (a *dymensionAdapter) DefaultResources() ResourceDefaults { func (a *dymensionAdapter) VersionPolicy() ChainVersionPolicy { return ChainVersionPolicy{ - Registry: "docker.io", - Repository: "dymensionxyz/dymd", - TagPattern: `^v\d+\.\d+\.\d+$`, + Registry: "ghcr.io", + Repository: "dymensionxyz/dymension", + TagPattern: `^\d+\.\d+\.\d+$`, } } diff --git a/internal/adapters/hashkey.go b/internal/adapters/hashkey.go index bfb3ab9..d36660a 100644 --- a/internal/adapters/hashkey.go +++ b/internal/adapters/hashkey.go @@ -82,9 +82,9 @@ func (a *hashkeyAdapter) DefaultResources() ResourceDefaults { func (a *hashkeyAdapter) VersionPolicy() ChainVersionPolicy { return ChainVersionPolicy{ - Registry: "docker.io", - Repository: "hashkeychain/hashkey-geth", - TagPattern: `^v\d+\.\d+\.\d+$`, + Registry: "us-docker.pkg.dev", + Repository: "oplabs-tools-artifacts/images/op-geth", + TagPattern: `^v\d+\.\d+`, } } diff --git a/internal/adapters/kava.go b/internal/adapters/kava.go index de39b20..c387662 100644 --- a/internal/adapters/kava.go +++ b/internal/adapters/kava.go @@ -188,7 +188,7 @@ func (a *kavaAdapter) DefaultResources() ResourceDefaults { func (a *kavaAdapter) VersionPolicy() ChainVersionPolicy { return ChainVersionPolicy{ Registry: "docker.io", - Repository: "kava-labs/kava", - TagPattern: `^v\d+\.\d+\.\d+$`, + Repository: "kava/kava", + TagPattern: `^v\d+\.\d+\.\d+-goleveldb$`, } } diff --git a/internal/adapters/manta_pacific.go b/internal/adapters/manta_pacific.go index 31e39a5..2c3fa30 100644 --- a/internal/adapters/manta_pacific.go +++ b/internal/adapters/manta_pacific.go @@ -100,9 +100,9 @@ func (a *mantaPacificAdapter) DefaultResources() ResourceDefaults { func (a *mantaPacificAdapter) VersionPolicy() ChainVersionPolicy { return ChainVersionPolicy{ - Registry: "docker.io", - Repository: "mantanetwork/op-geth", - TagPattern: `^v\d+\.\d+\.\d+\.\d+$`, + Registry: "public.ecr.aws", + Repository: "i6b2w2n6/op-geth", + TagPattern: `^\d+\.\d+\.\d+$`, } } diff --git a/internal/adapters/metis.go b/internal/adapters/metis.go index b453e79..173d338 100644 --- a/internal/adapters/metis.go +++ b/internal/adapters/metis.go @@ -101,7 +101,7 @@ func (a *metisAdapter) DefaultResources() ResourceDefaults { func (a *metisAdapter) VersionPolicy() ChainVersionPolicy { return ChainVersionPolicy{ Registry: "docker.io", - Repository: "metisprotocol/l2geth", + Repository: "metisdao/l2geth", TagPattern: `^v\d+\.\d+\.\d+$`, } } diff --git a/internal/adapters/plasma.go b/internal/adapters/plasma.go index a8b7de0..c2280cc 100644 --- a/internal/adapters/plasma.go +++ b/internal/adapters/plasma.go @@ -88,9 +88,9 @@ func (a *plasmaAdapter) DefaultResources() ResourceDefaults { func (a *plasmaAdapter) VersionPolicy() ChainVersionPolicy { return ChainVersionPolicy{ - Registry: "docker.io", - Repository: "plasma-next/node", - TagPattern: `^v\d+\.\d+\.\d+$`, + Registry: "ghcr.io", + Repository: "plasmalaboratories/plasma-consensus-public", + TagPattern: `^\d+\.\d+\.\d+$`, } } diff --git a/internal/adapters/polygon_zkevm.go b/internal/adapters/polygon_zkevm.go index 6bed063..24a7395 100644 --- a/internal/adapters/polygon_zkevm.go +++ b/internal/adapters/polygon_zkevm.go @@ -118,11 +118,3 @@ func (a *polygonZkEVMAdapter) DefaultResources() ResourceDefaults { Storage: resource.MustParse("500Gi"), } } - -func (a *polygonZkEVMAdapter) VersionPolicy() ChainVersionPolicy { - return ChainVersionPolicy{ - Registry: "docker.io", - Repository: "0xpolygonhermez/zkevm-node", - TagPattern: `^v\d+\.\d+\.\d+$`, - } -} diff --git a/internal/adapters/sei.go b/internal/adapters/sei.go index fd2158a..70d00a5 100644 --- a/internal/adapters/sei.go +++ b/internal/adapters/sei.go @@ -187,8 +187,8 @@ func (a *seiAdapter) DefaultResources() ResourceDefaults { func (a *seiAdapter) VersionPolicy() ChainVersionPolicy { return ChainVersionPolicy{ - Registry: "docker.io", - Repository: "seiprotocol/seid", + Registry: "ghcr.io", + Repository: "sei-protocol/sei", TagPattern: `^v\d+\.\d+\.\d+$`, } } diff --git a/internal/adapters/solana.go b/internal/adapters/solana.go index d713b8d..db4332d 100644 --- a/internal/adapters/solana.go +++ b/internal/adapters/solana.go @@ -141,7 +141,7 @@ func (a *solanaAdapter) DefaultResources() ResourceDefaults { func (a *solanaAdapter) VersionPolicy() ChainVersionPolicy { return ChainVersionPolicy{ Registry: "docker.io", - Repository: "solanalabs/agave", + Repository: "anzaxyz/agave", TagPattern: `^v\d+\.\d+\.\d+$`, } } diff --git a/internal/adapters/taiko.go b/internal/adapters/taiko.go index 9f2d120..185dfcb 100644 --- a/internal/adapters/taiko.go +++ b/internal/adapters/taiko.go @@ -75,8 +75,8 @@ func (a *taikoAdapter) DefaultResources() ResourceDefaults { func (a *taikoAdapter) VersionPolicy() ChainVersionPolicy { return ChainVersionPolicy{ - Registry: "docker.io", - Repository: "taikoxyz/taiko-geth", + Registry: "us-docker.pkg.dev", + Repository: "evmchain/images/taiko-geth", TagPattern: `^v\d+\.\d+\.\d+$`, } } diff --git a/internal/adapters/versions_gen.go b/internal/adapters/versions_gen.go index 4ad57ac..6ac278f 100644 --- a/internal/adapters/versions_gen.go +++ b/internal/adapters/versions_gen.go @@ -50,7 +50,7 @@ var chainDefaultImages = map[chainsv1alpha2.Chain]map[string]string{ "": "us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101702.1", }, chainsv1alpha2.ChainBobaEth: { - "": "bobanetwork/op-geth:v1.101411.4", + "": "us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101702.2", }, chainsv1alpha2.ChainBSC: { "": "ghcr.io/bnb-chain/bsc:1.6.7", @@ -62,7 +62,7 @@ var chainDefaultImages = map[chainsv1alpha2.Chain]map[string]string{ "": "us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101702.2", }, chainsv1alpha2.ChainCore: { - "": "coredao/core-chain:v1.0.22", + "": "ghcr.io/coredao-org/core-chain:1.0.22", }, chainsv1alpha2.ChainCosmos: { "": "ghcr.io/cosmos/gaia:v27.0.0", @@ -83,7 +83,7 @@ var chainDefaultImages = map[chainsv1alpha2.Chain]map[string]string{ "": "us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101702.1", }, chainsv1alpha2.ChainDymension: { - "": "dymensionxyz/dymd:v3.1.0", + "": "ghcr.io/dymensionxyz/dymension:4.0.1", }, chainsv1alpha2.ChainEthereum: { "": "nethermind/nethermind:1.38.0", @@ -142,7 +142,7 @@ var chainDefaultImages = map[chainsv1alpha2.Chain]map[string]string{ "": "harmonyone/harmony:v8.5.4", }, chainsv1alpha2.ChainHashKey: { - "": "hashkeychain/hashkey-geth:v1.0.0", + "": "us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101702.2", }, chainsv1alpha2.ChainHemi: { "": "hemilabs/op-geth:v1.101408.0", @@ -160,7 +160,7 @@ var chainDefaultImages = map[chainsv1alpha2.Chain]map[string]string{ "": "us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101702.0", }, chainsv1alpha2.ChainKava: { - "": "kava-labs/kava:v0.26.2", + "": "kava/kava:v0.28.2-goleveldb", }, chainsv1alpha2.ChainKlaytn: { "": "klaytn/klaytn:v2.2.0", @@ -184,7 +184,7 @@ var chainDefaultImages = map[chainsv1alpha2.Chain]map[string]string{ "": "uphold/litecoin-core:0.21", }, chainsv1alpha2.ChainMantaPacific: { - "": "mantanetwork/op-geth:v1.101304.3", + "": "public.ecr.aws/i6b2w2n6/op-geth:7.1.0", }, chainsv1alpha2.ChainMantle: { "": "mantlenetworkio/op-geth:v1.0.3", @@ -193,7 +193,7 @@ var chainDefaultImages = map[chainsv1alpha2.Chain]map[string]string{ "": "megaeth-labs/node:latest", }, chainsv1alpha2.ChainMetis: { - "": "metisprotocol/l2geth:v1.4.2", + "": "metisdao/l2geth:v0.3.9", }, chainsv1alpha2.ChainMezo: { "": "mezo/mezod:v11.0.0", @@ -229,7 +229,7 @@ var chainDefaultImages = map[chainsv1alpha2.Chain]map[string]string{ "": "osmolabs/osmosis:v31.0.0", }, chainsv1alpha2.ChainPlasma: { - "": "plasma-next/node:v0.1.0", + "": "ghcr.io/plasmalaboratories/plasma-consensus-public:0.15.0", }, chainsv1alpha2.ChainPlaynance: { "": "offchainlabs/nitro-node:v3.6.0", @@ -256,13 +256,13 @@ var chainDefaultImages = map[chainsv1alpha2.Chain]map[string]string{ "": "scrolltech/l2geth:scroll-v5.10.6", }, chainsv1alpha2.ChainSei: { - "": "seiprotocol/seid:v6.2.0", + "": "ghcr.io/sei-protocol/sei:v6.5.2", }, chainsv1alpha2.ChainShibarium: { "": "shibaone/bor:v1.3.7-bone", }, chainsv1alpha2.ChainSolana: { - "": "solanalabs/agave:v2.1.0", + "": "anzaxyz/agave:v3.1.14", }, chainsv1alpha2.ChainSoneium: { "": "us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101702.1", @@ -286,7 +286,7 @@ var chainDefaultImages = map[chainsv1alpha2.Chain]map[string]string{ "": "us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101701.0", }, chainsv1alpha2.ChainTaiko: { - "": "taikoxyz/taiko-geth:v1.8.0", + "": "us-docker.pkg.dev/evmchain/images/taiko-geth:v2.5.0", }, chainsv1alpha2.ChainTelos: { "": "telosnetwork/telos-evm-rpc:v2.0.0", From 72cfa0e5d63bf05c08cfd114b0f8da7509ca49b4 Mon Sep 17 00:00:00 2001 From: tazhate Date: Sun, 14 Jun 2026 13:35:13 +0300 Subject: [PATCH 2/2] feat(polygon-zkevm): migrate from archived zkevm-node to cdk-erigon MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit zkevm-node is archived; Polygon mainnet zkEVM operators now run cdk-erigon (an Erigon fork). The prior commit only dropped version tracking — this actually migrates the adapter to the new client: - image -> ghcr.io/0xpolygon/cdk-erigon:v2.64.2, VersionPolicy re-added - config rewritten to cdk-erigon hermez-mainnet yaml (datadir /data, http on 8545 with eth/debug/net/trace/web3/erigon/zkevm apis, externalcl, l2-chain-id 1101, sequencer https://zkevm-rpc.com, datastreamer stream.zkevm-rpc.com:6900, canonical L1 contract addresses) - ContainerArgs: --config=/config/hermezconfig.yaml plus --zkevm.l1-rpc-url=$(L1_RPC_URL); image ENTRYPOINT is cdk-erigon so flags append cleanly. L1 URL still defaults to http://ethereum:8545 via env. - resources bumped to 8 CPU / 16Gi / 2Ti for a mainnet zkEVM node Context: pulled the canonical hermezconfig-mainnet.yaml from the upstream cdk-erigon repo, traced how the operator mounts ConfigTemplate (/config, read-only) and applies ContainerArgs/Env in internal/controller, and confirmed the image entrypoint from its Dockerfile. Build, vet, adapter + controller tests green; versioncheck --chain polygon-zkevm resolves cdk-erigon with no error. Datastreamer/sequencer endpoints are the public Polygon ones — worth a live re-sync check before prod. ~1.5h. --- internal/adapters/polygon_zkevm.go | 118 ++++++++++++++++++----------- internal/adapters/versions_gen.go | 2 +- 2 files changed, 76 insertions(+), 44 deletions(-) diff --git a/internal/adapters/polygon_zkevm.go b/internal/adapters/polygon_zkevm.go index 24a7395..f2443c0 100644 --- a/internal/adapters/polygon_zkevm.go +++ b/internal/adapters/polygon_zkevm.go @@ -29,12 +29,16 @@ import ( // Constants // -------------------------------------------------------------------------- +// defaultPolygonZkEVML1URL is the in-cluster Ethereum L1 endpoint cdk-erigon +// reads the rollup state from. Override via spec.extraEnv (L1_RPC_URL). const defaultPolygonZkEVML1URL = "http://ethereum:8545" // -------------------------------------------------------------------------- // Type // -------------------------------------------------------------------------- +// polygonZkEVMAdapter runs a Polygon zkEVM mainnet node on cdk-erigon, the +// Erigon-based client that replaced the now-archived zkevm-node. type polygonZkEVMAdapter struct { protocolAdapter } @@ -58,63 +62,91 @@ func (a *polygonZkEVMAdapter) DefaultImage(client string) string { } func (a *polygonZkEVMAdapter) ConfigTemplate(_ chainsv1alpha2.ChainInstanceSpec) (string, string, error) { - return "config.toml", polygonZkEVMConfig, nil + return "hermezconfig.yaml", polygonZkEVMConfig, nil } -func (a *polygonZkEVMAdapter) HealthCheck(ctx context.Context, rpcURL string) (SyncStatus, error) { - return evmHealthCheck(ctx, rpcURL) +// ContainerArgs points cdk-erigon at the mounted config file and injects the L1 +// RPC URL from the environment so it can be overridden without rewriting the +// config. Flags override config-file values in Erigon. +func (a *polygonZkEVMAdapter) ContainerArgs(_ chainsv1alpha2.ChainInstanceSpec) []string { + return []string{ + "--config=/config/hermezconfig.yaml", + "--zkevm.l1-rpc-url=$(L1_RPC_URL)", + } } -// -------------------------------------------------------------------------- -// Config -// -------------------------------------------------------------------------- +// ContainerEnv supplies the default L1 (Ethereum) RPC endpoint used to sync the +// zkEVM rollup state. Override by setting L1_RPC_URL in spec.extraEnv. +func (a *polygonZkEVMAdapter) ContainerEnv(_ chainsv1alpha2.ChainInstanceSpec) []corev1.EnvVar { + return []corev1.EnvVar{ + {Name: "L1_RPC_URL", Value: defaultPolygonZkEVML1URL}, + } +} -const polygonZkEVMConfig = `# Polygon zkEVM (CDK Validium) node configuration -[Node] -DataDir = "/data" - -[Node.StateDB] -Host = "localhost" -Port = 5432 - -[Node.Executor] -URI = "localhost:50071" - -[RPC] -Host = "0.0.0.0" -Port = 8545 -WebSockets = true -WebSocketsPort = 8546 -ReadTimeout = "60s" -WriteTimeout = "60s" -MaxRequestsPerIPAndSecond = 500 - -[Metrics] -Host = "0.0.0.0" -Port = 9091 -Enabled = true - -[Synchronizer] -SyncInterval = "1s" -SyncChunkSize = 100 -` +func (a *polygonZkEVMAdapter) HealthCheck(ctx context.Context, rpcURL string) (SyncStatus, error) { + return evmHealthCheck(ctx, rpcURL) +} func (a *polygonZkEVMAdapter) ContainerPorts(_ chainsv1alpha2.ChainInstanceSpec) []corev1.ContainerPort { ports := evmPorts(30303) - return append(ports, corev1.ContainerPort{Name: "metrics", ContainerPort: 9091, Protocol: corev1.ProtocolTCP}) + return append(ports, corev1.ContainerPort{Name: "metrics", ContainerPort: 6061, Protocol: corev1.ProtocolTCP}) } -// ContainerEnv injects the L1_RPC_URL environment variable required by the zkEVM node. -func (a *polygonZkEVMAdapter) ContainerEnv(_ chainsv1alpha2.ChainInstanceSpec) []corev1.EnvVar { - return []corev1.EnvVar{ - {Name: "L1_RPC_URL", Value: defaultPolygonZkEVML1URL}, +func (a *polygonZkEVMAdapter) VersionPolicy() ChainVersionPolicy { + return ChainVersionPolicy{ + Registry: "ghcr.io", + Repository: "0xpolygon/cdk-erigon", + TagPattern: `^v\d+\.\d+\.\d+$`, } } func (a *polygonZkEVMAdapter) DefaultResources() ResourceDefaults { return ResourceDefaults{ - CPURequest: resource.MustParse("4"), - MemoryRequest: resource.MustParse("8Gi"), - Storage: resource.MustParse("500Gi"), + CPURequest: resource.MustParse("8"), + MemoryRequest: resource.MustParse("16Gi"), + Storage: resource.MustParse("2Ti"), } } + +// -------------------------------------------------------------------------- +// Config +// -------------------------------------------------------------------------- + +// polygonZkEVMConfig is the cdk-erigon hermez-mainnet RPC node config. The L1 +// contract addresses, sequencer RPC and datastreamer endpoint are the canonical +// Polygon zkEVM mainnet values; zkevm.l1-rpc-url is injected via ContainerArgs. +const polygonZkEVMConfig = `# Polygon zkEVM mainnet node (cdk-erigon, hermez-mainnet) +datadir: /data +chain: hermez-mainnet + +http: true +http.addr: 0.0.0.0 +http.port: 8545 +http.api: [eth, debug, net, trace, web3, erigon, zkevm] +http.vhosts: any +http.corsdomain: any +ws: true + +private.api.addr: localhost:9091 +metrics: true +metrics.addr: 0.0.0.0 +metrics.port: 6061 + +externalcl: true + +zkevm.l2-chain-id: 1101 +zkevm.l2-sequencer-rpc-url: https://zkevm-rpc.com +zkevm.l2-datastreamer-url: stream.zkevm-rpc.com:6900 +zkevm.l1-chain-id: 1 +zkevm.l1-rollup-id: 1 +zkevm.address-sequencer: "0x148Ee7dAF16574cD020aFa34CC658f8F3fbd2800" +zkevm.address-zkevm: "0x519E42c24163192Dca44CD3fBDCEBF6be9130987" +zkevm.address-rollup: "0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2" +zkevm.address-ger-manager: "0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb" +zkevm.l1-block-range: 20000 +zkevm.l1-query-delay: 6000 +zkevm.l1-first-block: 16896700 +zkevm.default-gas-price: 1000000000 +zkevm.max-gas-price: 0 +zkevm.gas-price-factor: 0.0375 +` diff --git a/internal/adapters/versions_gen.go b/internal/adapters/versions_gen.go index 6ac278f..fe1fa5f 100644 --- a/internal/adapters/versions_gen.go +++ b/internal/adapters/versions_gen.go @@ -244,7 +244,7 @@ var chainDefaultImages = map[chainsv1alpha2.Chain]map[string]string{ "": "0xpolygon/bor:2.8.3", }, chainsv1alpha2.ChainPolygonZkEVM: { - "": "0xpolygonhermez/zkevm-node:v0.7.0", + "": "ghcr.io/0xpolygon/cdk-erigon:v2.64.2", }, chainsv1alpha2.ChainRonin: { "": "ghcr.io/ronin-chain/ronin:v2.8.3",