Merge pull request #129 from luxfi/feat/genesis-registry-add-OIR

genesis: add I/O/R chains to primary network registry
This commit is contained in:
Hanzo Dev
2026-06-03 13:22:40 -07:00
committed by GitHub
3 changed files with 42 additions and 0 deletions
+33
View File
@@ -58,6 +58,9 @@ var (
ZChainAliases = AliasesFor("Z")
GChainAliases = AliasesFor("G")
KChainAliases = AliasesFor("K")
IChainAliases = AliasesFor("I")
OChainAliases = AliasesFor("O")
RChainAliases = AliasesFor("R")
// Network-specific genesis messages (Latin for mainnet, descriptive for others)
// Mainnet: "Lux et Libertas" - Light and Liberty
@@ -861,6 +864,36 @@ func Aliases(genesisBytes []byte) (map[string][]string, map[ids.ID][]string, err
path.Join(constants.ChainAliasPrefix, "kms"),
}
chainAliases[chainID] = KChainAliases
case constants.IdentityVMID:
apiAliases[endpoint] = []string{
"I",
"identity",
"identityvm",
"id",
path.Join(constants.ChainAliasPrefix, "I"),
path.Join(constants.ChainAliasPrefix, "identity"),
}
chainAliases[chainID] = IChainAliases
case constants.OracleVMID:
apiAliases[endpoint] = []string{
"O",
"oracle",
"oraclevm",
"feed",
path.Join(constants.ChainAliasPrefix, "O"),
path.Join(constants.ChainAliasPrefix, "oracle"),
}
chainAliases[chainID] = OChainAliases
case constants.RelayVMID:
apiAliases[endpoint] = []string{
"R",
"relay",
"relayvm",
"msg",
path.Join(constants.ChainAliasPrefix, "R"),
path.Join(constants.ChainAliasPrefix, "relay"),
}
chainAliases[chainID] = RChainAliases
}
}
return apiAliases, chainAliases, nil
+3
View File
@@ -66,6 +66,9 @@ var Registry = []ChainSpec{
{Letter: "Z", VMID: constants.ZKVMID, Aliases: []string{"zk", "zkvm"}, Name: "Z-Chain"},
{Letter: "G", VMID: constants.GraphVMID, Aliases: []string{"graph", "graphvm", "dgraph"}, Name: "G-Chain"},
{Letter: "K", VMID: constants.KeyVMID, Aliases: []string{"key", "keyvm"}, Name: "K-Chain"},
{Letter: "I", VMID: constants.IdentityVMID, Aliases: []string{"identity", "identityvm", "id"}, Name: "I-Chain"},
{Letter: "O", VMID: constants.OracleVMID, Aliases: []string{"oracle", "oraclevm", "feed"}, Name: "O-Chain"},
{Letter: "R", VMID: constants.RelayVMID, Aliases: []string{"relay", "relayvm", "msg"}, Name: "R-Chain"},
}
// specsByLetter is an O(1) lookup built once at package init.
+6
View File
@@ -45,6 +45,9 @@ func TestChainAliasesRegistryParity(t *testing.T) {
{"Z", ZChainAliases, []string{"Z", "zk", "zkvm"}},
{"G", GChainAliases, []string{"G", "graph", "graphvm", "dgraph"}},
{"K", KChainAliases, []string{"K", "key", "keyvm"}},
{"I", IChainAliases, []string{"I", "identity", "identityvm", "id"}},
{"O", OChainAliases, []string{"O", "oracle", "oraclevm", "feed"}},
{"R", RChainAliases, []string{"R", "relay", "relayvm", "msg"}},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
@@ -73,6 +76,9 @@ func TestVMAliasesRegistryParity(t *testing.T) {
constants.ZKVMID: {"zkvm", "zk"},
constants.GraphVMID: {"graphvm", "graph", "dgraph"},
constants.KeyVMID: {"keyvm", "key"},
constants.IdentityVMID: {"identity", "identityvm", "id"},
constants.OracleVMID: {"oracle", "oraclevm", "feed"},
constants.RelayVMID: {"relay", "relayvm", "msg"},
secp256k1fx.ID: {"secp256k1fx"},
nftfx.ID: {"nftfx"},
propertyfx.ID: {"propertyfx"},