code: func SetULC(ctx *cli.Context, cfg *eth.Config) {
  	// ULC config isn't loaded from global config and ULC config and ULC trusted nodes are not defined.
  	if cfg.ULC == nil && !(ctx.GlobalIsSet(ULCModeConfigFlag.Name) || ctx.GlobalIsSet(ULCTrustedNodesFlag.Name)) {
  		return
  	}
  	cfg.ULC = &eth.ULCConfig{}
  
  	path := ctx.GlobalString(ULCModeConfigFlag.Name)
  	if path != "" {
  		cfgData, err := ioutil.ReadFile(path)
  		if err != nil {
  			Fatalf("Failed to unmarshal ULC configuration: %v", err)
  		}
  
  		err = json.Unmarshal(cfgData, &cfg.ULC)
  		if err != nil {
  			Fatalf("Failed to unmarshal ULC configuration: %s", err.Error())
  		}
  	}
  
  	if trustedNodes := ctx.GlobalString(ULCTrustedNodesFlag.Name); trustedNodes != "" {
  		cfg.ULC.TrustedServers = strings.Split(trustedNodes, ",")
  	}
  
  	if trustedFraction := ctx.GlobalInt(ULCMinTrustedFractionFlag.Name); trustedFraction > 0 {
  		cfg.ULC.MinTrustedFraction = trustedFraction
  	}
  	if cfg.ULC.MinTrustedFraction <= 0 && cfg.ULC.MinTrustedFraction > 100 {
  		log.Error("MinTrustedFraction is invalid", "MinTrustedFraction", cfg.ULC.MinTrustedFraction, "Changed to default", eth.DefaultULCMinTrustedFraction)
  		cfg.ULC.MinTrustedFraction = eth.DefaultULCMinTrustedFraction
  	}
  }
docs: // SetULC setup ULC config from file if given.