@@ -2902,30 +2902,30 @@ fn loggingPanic(message: []const u8, first_trace_addr: ?usize) noreturn {
29022902 std .debug .defaultPanic (message , first_trace_addr );
29032903}
29042904
2905- pub const RpcLeaderScheduleService = struct {
2905+ /// NOTE: This only populates the leader schedule, and leaves the epoch stake & features empty (ie ALL_DISABLED).
2906+ const RpcLeaderScheduleService = struct {
29062907 allocator : std.mem.Allocator ,
29072908 logger : RpcLeaderScheduleServiceLogger ,
29082909 rpc_client : sig.rpc.Client ,
29092910 epoch_tracker : * sig.core.EpochTracker ,
29102911
2911- const Self = @This ();
2912- const RpcLeaderScheduleServiceLogger = sig .trace .Logger (@typeName (Self ));
2912+ const RpcLeaderScheduleServiceLogger = sig .trace .Logger (@typeName (RpcLeaderScheduleService ));
29132913
2914- pub fn init (
2914+ fn init (
29152915 allocator : std.mem.Allocator ,
29162916 logger : RpcLeaderScheduleServiceLogger ,
29172917 epoch_tracker : * sig.core.EpochTracker ,
29182918 rpc_client : sig.rpc.Client ,
2919- ) Self {
2919+ ) RpcLeaderScheduleService {
29202920 return .{
29212921 .allocator = allocator ,
2922- .logger = logger .withScope (@typeName (Self )),
2922+ .logger = logger .withScope (@typeName (RpcLeaderScheduleService )),
29232923 .rpc_client = rpc_client ,
29242924 .epoch_tracker = epoch_tracker ,
29252925 };
29262926 }
29272927
2928- pub fn run (self : * Self , exit : * std .atomic .Value (bool )) void {
2928+ fn run (self : * RpcLeaderScheduleService , exit : * std .atomic .Value (bool )) void {
29292929 var i : usize = 0 ;
29302930 while (! exit .load (.monotonic )) {
29312931 if (i % 1000 == 0 ) {
@@ -2942,7 +2942,7 @@ pub const RpcLeaderScheduleService = struct {
29422942 }
29432943 }
29442944
2945- fn refresh (self : * Self ) ! void {
2945+ fn refresh (self : * RpcLeaderScheduleService ) ! void {
29462946 const response = try self .rpc_client .getSlot (.{});
29472947 defer response .deinit ();
29482948 const slot = try response .result ();
@@ -2969,10 +2969,13 @@ pub const RpcLeaderScheduleService = struct {
29692969 & self .epoch_tracker .epoch_schedule ,
29702970 );
29712971
2972- var entry = try self .allocator .create (sig .core .EpochInfo );
2972+ const entry = try self .allocator .create (sig .core .EpochInfo );
29732973 entry .* = .{
29742974 .leaders = leaders ,
29752975 .stakes = .EMPTY ,
2976+ // TODO: if you need features here for whatever reason, you'll have to implement
2977+ // some way to forward them from replay, or source them by some other means.
2978+ .feature_set = .ALL_DISABLED ,
29762979 };
29772980 entry .stakes .stakes .epoch = e ;
29782981 errdefer {
@@ -2986,7 +2989,7 @@ pub const RpcLeaderScheduleService = struct {
29862989 }
29872990
29882991 fn getLeaderSchedule (
2989- self : * Self ,
2992+ self : * RpcLeaderScheduleService ,
29902993 slot : sig.core.Slot ,
29912994 epoch_schedule : * const sig.core.EpochSchedule ,
29922995 ) ! LeaderSchedule {
0 commit comments