Some checks failed
Docs Deploy / build_and_deploy (push) Has been cancelled
Generate Docs / cli (push) Has been cancelled
Generate Config Doc / cli (push) Has been cancelled
Go formatting / go-formatting (push) Has been cancelled
Check links / markdown-link-check (push) Has been cancelled
Integration / pre-test (push) Has been cancelled
Integration / test on (push) Has been cancelled
Integration / status (push) Has been cancelled
Lint / Lint Go code (push) Has been cancelled
Test / test (ubuntu-latest) (push) Has been cancelled
65 lines
1.4 KiB
Go
65 lines
1.4 KiB
Go
package v0
|
|
|
|
import (
|
|
v1 "git.cw.tr/mukan-network/mukan-ignite/ignite/config/chain/v1"
|
|
"git.cw.tr/mukan-network/mukan-ignite/ignite/config/chain/version"
|
|
)
|
|
|
|
// ConvertNext converts the current config version to the next one.
|
|
func (c *Config) ConvertNext() (version.Converter, error) {
|
|
targetCfg := v1.DefaultConfig()
|
|
|
|
// All the fields in the base config remain the same
|
|
targetCfg.Config = c.Config
|
|
targetCfg.Version = 1
|
|
|
|
// There is always only one validator in version 0
|
|
validator := v1.Validator{}
|
|
validator.Name = c.Validator.Name
|
|
validator.Bonded = c.Validator.Staked
|
|
validator.Home = c.Init.Home
|
|
validator.Client = c.Init.Client
|
|
|
|
if c.Init.App != nil {
|
|
validator.App = c.Init.App
|
|
}
|
|
|
|
if c.Init.Config != nil {
|
|
validator.Config = c.Init.Config
|
|
}
|
|
|
|
// The host configuration must be defined in the validators for version 1
|
|
servers := v1.Servers{}
|
|
|
|
if c.Host.P2P != "" {
|
|
servers.P2P.Address = c.Host.P2P
|
|
}
|
|
|
|
if c.Host.RPC != "" {
|
|
servers.RPC.Address = c.Host.RPC
|
|
}
|
|
|
|
if c.Host.Prof != "" {
|
|
servers.RPC.PProfAddress = c.Host.Prof
|
|
}
|
|
|
|
if c.Host.GRPCWeb != "" {
|
|
servers.GRPCWeb.Address = c.Host.GRPCWeb
|
|
}
|
|
|
|
if c.Host.GRPC != "" {
|
|
servers.GRPC.Address = c.Host.GRPC
|
|
}
|
|
|
|
if c.Host.API != "" {
|
|
servers.API.Address = c.Host.API
|
|
}
|
|
|
|
if err := validator.SetServers(servers); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
targetCfg.Validators = append(targetCfg.Validators, validator)
|
|
|
|
return targetCfg, nil
|
|
}
|