prysm-pulse/proto/beacon/p2p/v1/messages.proto

80 lines
1.7 KiB
Protocol Buffer

syntax = "proto3";
package ethereum.beacon.p2p.v1;
import "google/protobuf/timestamp.proto";
message BeaconBlockHashAnnounce {
bytes hash = 1;
}
message BeaconBlockRequest {
bytes hash = 1;
}
message BeaconBlockResponse {
bytes parent_hash = 1;
uint64 slot_number = 2;
bytes randao_reveal = 3;
bytes attestation_bitmask = 4;
repeated uint32 attestation_aggregate_sig = 5;
repeated AggregateVote shard_aggregate_votes = 6;
bytes main_chain_ref = 7;
bytes active_state_hash = 8;
bytes crystallized_state_hash = 9;
google.protobuf.Timestamp timestamp = 10;
}
message CrystallizedStateHashAnnounce {
bytes hash = 1;
}
message CrystallizedStateRequest {
bytes hash = 1;
}
message CrystallizedStateResponse {
repeated ValidatorRecord active_validators = 1;
repeated ValidatorRecord queued_validators = 2;
repeated ValidatorRecord exited_validators = 3;
repeated uint64 current_epoch_shuffling = 4;
uint64 current_epoch = 5;
uint64 last_justified_epoch = 6;
uint64 last_finalized_epoch = 7;
uint64 current_dynasty = 8;
uint64 next_shard = 9;
bytes current_check_point = 10;
uint64 total_deposits = 11;
bytes dynasty_seed = 12;
uint64 dynasty_seed_last_reset = 13;
}
message ActiveStateHashAnnounce {
bytes hash = 1;
}
message ActiveStateRequest {
bytes hash = 1;
}
message ActiveStateResponse {
uint64 total_attester_deposits = 1;
bytes attester_bitfield = 2;
}
message AggregateVote {
uint32 shard_id = 1;
bytes shard_block_hash = 2;
bytes signer_bitmask = 3;
repeated uint32 aggregate_sig = 4;
}
message ValidatorRecord {
uint64 public_key = 1;
uint64 withdrawal_shard = 2;
bytes withdrawal_address = 3;
bytes randao_commitment = 4;
uint64 balance = 5;
uint64 switch_dynasty = 6;
}