Skip to content

Commit aa84e3b

Browse files
committed
stop using undefined node maps on default config, use global maps
1 parent df437c8 commit aa84e3b

File tree

3 files changed

+38
-10
lines changed

3 files changed

+38
-10
lines changed

cmd/control/control.go

+1
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,7 @@ func startFunc(*cobra.Command, []string) error {
308308
return err
309309
}
310310
opts = append(opts, client.WithChainConfigs(chainConfigsMap))
311+
fmt.Println(chainConfigsMap)
311312
}
312313
if upgradeConfigs != "" {
313314
upgradeConfigsMap := make(map[string]string)

server/network.go

+18-10
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"github.com/ava-labs/avalanche-network-runner/network"
1818
"github.com/ava-labs/avalanche-network-runner/network/node"
1919
"github.com/ava-labs/avalanche-network-runner/rpcpb"
20+
"github.com/ava-labs/avalanche-network-runner/utils"
2021
"github.com/ava-labs/avalanche-network-runner/utils/constants"
2122
"github.com/ava-labs/avalanche-network-runner/ux"
2223
"github.com/ava-labs/avalanchego/config"
@@ -165,22 +166,29 @@ func (lc *localNetwork) createConfig() error {
165166

166167
cfg.NetworkID = lc.options.networkID
167168

169+
for k, v := range lc.options.chainConfigs {
170+
ov, ok := cfg.ChainConfigFiles[k]
171+
if ok {
172+
v, err = utils.CombineJSONs(ov, v)
173+
if err != nil {
174+
return err
175+
}
176+
}
177+
cfg.ChainConfigFiles[k] = v
178+
}
179+
for k, v := range lc.options.upgradeConfigs {
180+
cfg.UpgradeConfigFiles[k] = v
181+
}
182+
for k, v := range lc.options.subnetConfigs {
183+
cfg.SubnetConfigFiles[k] = v
184+
}
185+
168186
for i := range cfg.NodeConfigs {
169187
// NOTE: Naming convention for node names is currently `node` + number, i.e. `node1,node2,node3,...node101`
170188
nodeName := fmt.Sprintf("node%d", i+1)
171189

172190
cfg.NodeConfigs[i].Name = nodeName
173191

174-
for k, v := range lc.options.chainConfigs {
175-
cfg.NodeConfigs[i].ChainConfigFiles[k] = v
176-
}
177-
for k, v := range lc.options.upgradeConfigs {
178-
cfg.NodeConfigs[i].UpgradeConfigFiles[k] = v
179-
}
180-
for k, v := range lc.options.subnetConfigs {
181-
cfg.NodeConfigs[i].SubnetConfigFiles[k] = v
182-
}
183-
184192
if cfg.NodeConfigs[i].Flags == nil {
185193
cfg.NodeConfigs[i].Flags = map[string]interface{}{}
186194
}

utils/json.go

+19
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,22 @@ func SetJSONKey(jsonBody string, k string, v string) (string, error) {
2626
}
2727
return string(updatedJSON), nil
2828
}
29+
30+
func CombineJSONs(baseJson string, addedJson string) (string, error) {
31+
var baseConfig map[string]interface{}
32+
if err := json.Unmarshal([]byte(baseJson), &baseConfig); err != nil {
33+
return "", err
34+
}
35+
var addedConfig map[string]interface{}
36+
if err := json.Unmarshal([]byte(addedJson), &addedConfig); err != nil {
37+
return "", err
38+
}
39+
for k, v := range addedConfig {
40+
baseConfig[k] = v
41+
}
42+
updatedJSON, err := json.Marshal(baseConfig)
43+
if err != nil {
44+
return "", err
45+
}
46+
return string(updatedJSON), nil
47+
}

0 commit comments

Comments
 (0)