Skip to content

Commit 606041e

Browse files
authored
feat(networks): support Apex Fusion Prime testnet/mainnet networks (#1245)
Signed-off-by: Chris Gianelloni <wolf31o2@blinklabs.io>
1 parent fad1241 commit 606041e

File tree

1 file changed

+46
-8
lines changed

1 file changed

+46
-8
lines changed

networks.go

Lines changed: 46 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import "github.com/blinklabs-io/gouroboros/ledger/common"
1818

1919
// Network definitions
2020
var (
21-
NetworkMainnet = Network{
21+
NetworkCardanoMainnet = Network{
2222
Id: common.AddressNetworkMainnet,
2323
Name: "mainnet",
2424
NetworkMagic: 764824073,
@@ -37,7 +37,7 @@ var (
3737
},
3838
},
3939
}
40-
NetworkPreprod = Network{
40+
NetworkCardanoPreprod = Network{
4141
Id: common.AddressNetworkTestnet,
4242
Name: "preprod",
4343
NetworkMagic: 1,
@@ -48,7 +48,7 @@ var (
4848
},
4949
},
5050
}
51-
NetworkPreview = Network{
51+
NetworkCardanoPreview = Network{
5252
Id: common.AddressNetworkTestnet,
5353
Name: "preview",
5454
NetworkMagic: 2,
@@ -59,7 +59,7 @@ var (
5959
},
6060
},
6161
}
62-
NetworkSancho = Network{
62+
NetworkCardanoSancho = Network{
6363
Id: common.AddressNetworkTestnet,
6464
Name: "sanchonet",
6565
NetworkMagic: 4,
@@ -70,19 +70,55 @@ var (
7070
},
7171
},
7272
}
73+
// NetworkPrimeMainnet intentionally shares the same NetworkMagic as NetworkCardanoMainnet
74+
// because both networks use unaltered cardano-node binaries. Network differentiation
75+
// occurs through the bootstrap peers configuration.
76+
NetworkPrimeMainnet = Network{
77+
Id: common.AddressNetworkMainnet,
78+
Name: "prime-mainnet",
79+
NetworkMagic: 764824073,
80+
BootstrapPeers: []NetworkBootstrapPeer{
81+
{
82+
Address: "bootstrap.prime.mainnet.apexfusion.org",
83+
Port: 5521,
84+
},
85+
},
86+
}
87+
NetworkPrimeTestnet = Network{
88+
Id: common.AddressNetworkTestnet,
89+
Name: "prime-testnet",
90+
NetworkMagic: 3311,
91+
BootstrapPeers: []NetworkBootstrapPeer{
92+
{
93+
Address: "relay-0.prime.testnet.apexfusion.org",
94+
Port: 5521,
95+
},
96+
{
97+
Address: "relay-1.prime.testnet.apexfusion.org",
98+
Port: 5521,
99+
},
100+
},
101+
}
73102
NetworkDevnet = Network{
74103
Id: common.AddressNetworkTestnet,
75104
Name: "devnet",
76105
NetworkMagic: 42,
77106
}
107+
// Compatibility assignments (deprecated: use NetworkCardano* variants)
108+
NetworkMainnet = NetworkCardanoMainnet
109+
NetworkPreprod = NetworkCardanoPreprod
110+
NetworkPreview = NetworkCardanoPreview
111+
NetworkSancho = NetworkCardanoSancho
78112
)
79113

80114
// List of valid networks for use in lookup functions
81115
var networks = []Network{
82-
NetworkMainnet,
83-
NetworkPreprod,
84-
NetworkPreview,
85-
NetworkSancho,
116+
NetworkCardanoMainnet,
117+
NetworkCardanoPreprod,
118+
NetworkCardanoPreview,
119+
NetworkCardanoSancho,
120+
NetworkPrimeMainnet,
121+
NetworkPrimeTestnet,
86122
NetworkDevnet,
87123
}
88124

@@ -107,6 +143,8 @@ func NetworkById(id uint8) (Network, bool) {
107143
}
108144

109145
// NetworkByNetworkMagic returns a predefined network by network magic
146+
// This will return NetworkCardanoMainnet and not NetworkPrimeMainnet
147+
// for magic 764824073
110148
func NetworkByNetworkMagic(networkMagic uint32) (Network, bool) {
111149
for _, network := range networks {
112150
if network.NetworkMagic == networkMagic {

0 commit comments

Comments
 (0)