diff --git a/pkg/eth/helpers.go b/pkg/eth/helpers.go index fb072cae..fc09d13c 100644 --- a/pkg/eth/helpers.go +++ b/pkg/eth/helpers.go @@ -43,29 +43,30 @@ func ResolveToNodeType(nodeType int) sdtypes.NodeType { } } -// ChainConfig returns the appropriate ethereum chain config for the provided chain id -func ChainConfig(chainID uint64, chainConfigPath string) (*params.ChainConfig, error) { - if chainConfigPath != "" { - file, err := os.Open(chainConfigPath) - if err != nil { - utils.Fatalf("Failed to read chain config file: %v", err) +// LoadConfig loads chain config from json file +func LoadConfig(chainConfigPath string) (*params.ChainConfig, error) { + file, err := os.Open(chainConfigPath) + if err != nil { + utils.Fatalf("Failed to read chain config file: %v", err) - return nil, err - } - defer file.Close() + return nil, err + } + defer file.Close() - chainConfig := new(params.ChainConfig) - if err := json.NewDecoder(file).Decode(chainConfig); err != nil { - utils.Fatalf("invalid chain config file: %v", err) + chainConfig := new(params.ChainConfig) + if err := json.NewDecoder(file).Decode(chainConfig); err != nil { + utils.Fatalf("invalid chain config file: %v", err) - return nil, err - } - - log.Infof("Using chain config from %s file. Content %+v", chainConfigPath, chainConfig) - - return chainConfig, nil + return nil, err } + log.Infof("Using chain config from %s file. Content %+v", chainConfigPath, chainConfig) + + return chainConfig, nil +} + +// ChainConfig returns the appropriate ethereum chain config for the provided chain id +func ChainConfig(chainID uint64) (*params.ChainConfig, error) { switch chainID { case 1: return params.MainnetChainConfig, nil diff --git a/pkg/serve/config.go b/pkg/serve/config.go index e02b32e9..7786974c 100644 --- a/pkg/serve/config.go +++ b/pkg/serve/config.go @@ -125,7 +125,12 @@ func NewConfig() (*Config, error) { c.RPCGasCap = rpcGasCap } } - c.ChainConfig, err = eth.ChainConfig(nodeInfo.ChainID, viper.GetString("ethereum.chainConfig")) + chainConfigPath := viper.GetString("ethereum.chainConfig") + if chainConfigPath != "" { + c.ChainConfig, err = eth.LoadConfig(chainConfigPath) + } else { + c.ChainConfig, err = eth.ChainConfig(nodeInfo.ChainID) + } return c, err }