solana/wen-restart/proto/wen_restart.proto

64 lines
1.7 KiB
Protocol Buffer

syntax = "proto3";
package solana.wen_restart_proto;
enum State {
INIT = 0;
LAST_VOTED_FORK_SLOTS = 1;
HEAVIEST_FORK = 2;
GENERATE_SNAPSHOT = 3;
WAITING_FOR_SUPERMAJORITY = 4;
DONE = 5;
}
message LastVotedForkSlotsRecord {
repeated uint64 last_voted_fork_slots = 1;
string last_vote_bankhash = 2;
uint32 shred_version = 3;
uint64 wallclock = 4;
}
message LastVotedForkSlotsAggregateRecord {
map<string, LastVotedForkSlotsRecord> received = 1;
optional LastVotedForkSlotsAggregateFinal final_result = 2;
}
message LastVotedForkSlotsAggregateFinal {
map<uint64, uint64> slots_stake_map = 1;
uint64 total_active_stake = 2;
}
message HeaviestForkRecord {
uint64 slot = 1;
string bankhash = 2;
uint64 total_active_stake = 3;
uint32 shred_version = 4;
uint64 wallclock = 5;
}
message HeaviestForkAggregateFinal {
uint64 total_active_stake = 1;
uint64 total_active_stake_seen_supermajority = 2;
uint64 total_active_stake_agreed_with_me = 3;
}
message HeaviestForkAggregateRecord {
map<string, HeaviestForkRecord> received = 1;
optional HeaviestForkAggregateFinal final_result = 2;
}
message GenerateSnapshotRecord {
string path = 1;
uint64 slot = 2;
string bankhash = 3;
uint32 shred_version = 4;
}
message WenRestartProgress {
State state = 1;
optional LastVotedForkSlotsRecord my_last_voted_fork_slots = 2;
optional LastVotedForkSlotsAggregateRecord last_voted_fork_slots_aggregate = 3;
optional HeaviestForkRecord my_heaviest_fork = 4;
optional HeaviestForkAggregateRecord heaviest_fork_aggregate = 5;
optional GenerateSnapshotRecord my_snapshot = 6;
}