@@ -208,7 +208,7 @@ pub fn main() !void {
208208 );
209209 current_config .genesis_file_path = params .genesis_file_path ;
210210 params .accountsdb_base .apply (& current_config );
211- current_config .gossip . cluster = params .gossip_cluster ;
211+ current_config .cluster = params .gossip_cluster ;
212212 params .geyser .apply (& current_config );
213213 current_config .geyser .pipe_path = try current_config .derivePathFromValidatorDir (
214214 gpa ,
@@ -529,7 +529,7 @@ const Cmd = struct {
529529 cfg .gossip .host = args .host ;
530530 cfg .gossip .port = args .port ;
531531 cfg .gossip .entrypoints = args .entrypoints ;
532- cfg .gossip . cluster = args .network ;
532+ cfg .cluster = args .network ;
533533 }
534534 };
535535 const GossipArgumentsNode = struct {
@@ -1226,19 +1226,8 @@ fn ensureGenesis(
12261226 return try allocator .dupe (u8 , provided_path );
12271227 }
12281228
1229- // If genesis already exists in validator dir, use it
1230- const existing_path = try std .fs .path .join (
1231- allocator ,
1232- &.{ cfg .validator_dir , "genesis.bin" },
1233- );
1234- errdefer allocator .free (existing_path );
1235- if (! std .meta .isError (std .fs .cwd ().access (existing_path , .{}))) {
1236- logger .info ().logf ("Using existing genesis file: {s}" , .{existing_path });
1237- return existing_path ;
1238- }
1239-
12401229 // Determine cluster for genesis
1241- const cluster = try cfg .gossip . getCluster () orelse {
1230+ const cluster = try cfg .getCluster () orelse {
12421231 logger .err ().log (
12431232 \\No genesis file path provided and no cluster specified.
12441233 \\Use --genesis-file-path or --cluster"
@@ -1248,12 +1237,7 @@ fn ensureGenesis(
12481237
12491238 // Otherwise, download genesis from network
12501239 logger .info ().logf ("Downloading genesis from {s} cluster..." , .{@tagName (cluster )});
1251- const cluster_url = switch (cluster ) {
1252- .mainnet = > "https://api.mainnet-beta.solana.com" ,
1253- .testnet = > "https://api.testnet.solana.com" ,
1254- .devnet = > "https://api.devnet.solana.com" ,
1255- .localnet = > unreachable ,
1256- };
1240+ const cluster_url = cluster .getRpcUrl ();
12571241 const genesis_path = downloadAndExtractGenesis (
12581242 allocator ,
12591243 cluster_url ,
@@ -1933,18 +1917,12 @@ fn printLeaderSchedule(allocator: std.mem.Allocator, cfg: config.Cmd) !void {
19331917
19341918 const leader_schedule //
19351919 = try getLeaderScheduleFromCli (allocator , cfg ) orelse b : {
1936- const cluster = try cfg . gossip .getCluster () orelse
1920+ const cluster_type = try cfg .getCluster () orelse
19371921 return error .ClusterNotProvided ;
19381922
1939- const cluster_type : ClusterType = switch (cluster ) {
1940- .mainnet = > .MainnetBeta ,
1941- .devnet = > .Devnet ,
1942- .testnet = > .Testnet ,
1943- .localnet = > .LocalHost ,
1944- };
1945-
19461923 var rpc_client = try sig .rpc .Client .init (allocator , cluster_type , .{});
19471924 defer rpc_client .deinit ();
1925+ defer rpc_client .deinit ();
19481926
19491927 const slot = blk : {
19501928 const response = try rpc_client .getSlot (.{});
@@ -2016,12 +1994,7 @@ fn testTransactionSenderService(
20161994 }
20171995
20181996 // define cluster of where to land transactions
2019- const rpc_cluster : ClusterType = if (try cfg .gossip .getCluster ()) | n | switch (n ) {
2020- .mainnet = > .MainnetBeta ,
2021- .devnet = > .Devnet ,
2022- .testnet = > .Testnet ,
2023- .localnet = > .LocalHost ,
2024- } else {
1997+ const rpc_cluster : ClusterType = try cfg .getCluster () orelse {
20251998 @panic ("cluster option (-c) not provided" );
20261999 };
20272000 app_base .logger .warn ().logf (
@@ -2270,7 +2243,7 @@ const AppBase = struct {
22702243 const my_keypair = try sig .identity .getOrInit (allocator , .from (logger ));
22712244 const my_pubkey = Pubkey .fromPublicKey (& my_keypair .public_key );
22722245
2273- const entrypoints = try cfg .gossip .getEntrypointAddrs (allocator );
2246+ const entrypoints = try cfg .gossip .getEntrypointAddrs (try cfg . getCluster (), allocator );
22742247
22752248 const echo_data = try getShredAndIPFromEchoServer (.from (logger ), entrypoints );
22762249
0 commit comments