From 090cf7ccec7a8578d147beb35ecb734e3c6eca07 Mon Sep 17 00:00:00 2001 From: Klimov Sergei Date: Mon, 15 Sep 2025 00:23:54 +0800 Subject: [PATCH] neacon/config: fix LoadForks with non-string values --- beacon/params/config.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/beacon/params/config.go b/beacon/params/config.go index 2f6ba082c5..d42f852a81 100644 --- a/beacon/params/config.go +++ b/beacon/params/config.go @@ -95,7 +95,7 @@ func (c *ChainConfig) LoadForks(path string) error { if err != nil { return fmt.Errorf("failed to read beacon chain config file: %v", err) } - config := make(map[string]string) + config := make(map[string]any) if err := yaml.Unmarshal(file, &config); err != nil { return fmt.Errorf("failed to parse beacon chain config file: %v", err) } @@ -108,18 +108,18 @@ func (c *ChainConfig) LoadForks(path string) error { for key, value := range config { if strings.HasSuffix(key, "_FORK_VERSION") { name := key[:len(key)-len("_FORK_VERSION")] - if v, err := hexutil.Decode(value); err == nil { + if v, err := hexutil.Decode(fmt.Sprintf("0x%x", value)); err == nil { versions[name] = v } else { - return fmt.Errorf("failed to decode hex fork id %q in beacon chain config file: %v", value, err) + return fmt.Errorf("failed to decode hex fork id %v in beacon chain config file: %v", value, err) } } if strings.HasSuffix(key, "_FORK_EPOCH") { name := key[:len(key)-len("_FORK_EPOCH")] - if v, err := strconv.ParseUint(value, 10, 64); err == nil { + if v, err := hexutil.DecodeUint64(fmt.Sprintf("0x%x", value)); err == nil { epochs[name] = v } else { - return fmt.Errorf("failed to parse epoch number %q in beacon chain config file: %v", value, err) + return fmt.Errorf("failed to parse epoch number %v in beacon chain config file: %v", value, err) } } }