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

145 lines
2.8 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto3";
package ethereum.beacon.p2p.v1;
import "proto/beacon/p2p/v1/types.proto";
import "proto/eth/v1alpha1/attestation.proto";
import "proto/eth/v1alpha1/beacon_block.proto";
import "google/protobuf/timestamp.proto";
enum Topic {
UNKNOWN = 0;
BEACON_BLOCK_ANNOUNCE = 1;
BEACON_BLOCK_REQUEST = 2;
BEACON_BLOCK_REQUEST_BY_SLOT_NUMBER = 3;
BEACON_BLOCK_RESPONSE = 4;
BATCHED_BEACON_BLOCK_REQUEST = 5;
BATCHED_BEACON_BLOCK_RESPONSE = 6;
CHAIN_HEAD_REQUEST = 7;
CHAIN_HEAD_RESPONSE = 8;
BEACON_STATE_HASH_ANNOUNCE = 9;
BEACON_STATE_REQUEST = 10;
BEACON_STATE_RESPONSE = 11;
BEACON_ATTESTATION = 12;
}
message Envelope {
bytes span_context = 1;
bytes payload = 2;
google.protobuf.Timestamp timestamp = 3;
}
message BeaconBlockAnnounce {
bytes hash = 1;
uint64 slot_number = 2;
}
message BeaconBlockRequest {
bytes hash = 1;
}
2019-05-01 19:14:22 +00:00
message BeaconBlockRequestBySlotNumber {
uint64 slot_number = 1;
}
message BeaconBlockResponse {
ethereum.eth.v1alpha1.BeaconBlock block = 1;
ethereum.eth.v1alpha1.Attestation attestation = 2;
}
message BatchedBeaconBlockRequest {
uint64 start_slot = 1 [deprecated=true];
uint64 end_slot = 2 [deprecated=true];
bytes finalized_root = 3;
bytes canonical_root = 4;
}
2019-05-01 19:14:22 +00:00
message BatchedBeaconBlockResponse {
repeated ethereum.eth.v1alpha1.BeaconBlock batched_blocks = 1;
}
message ChainHeadRequest {}
message ChainHeadResponse {
uint64 canonical_slot = 1;
bytes canonical_state_root_hash32 = 2;
bytes finalized_state_root_hash32s = 3;
bytes canonical_block_root = 4;
bytes finalized_block_root = 5;
}
2018-12-01 22:09:12 +00:00
message BeaconStateHashAnnounce {
bytes hash = 1;
}
2018-12-01 22:09:12 +00:00
message BeaconStateRequest {
bytes finalized_state_root_hash32s = 1;
}
2018-12-01 22:09:12 +00:00
message BeaconStateResponse {
BeaconState finalized_state = 1;
2019-07-24 14:53:38 +00:00
ethereum.eth.v1alpha1.BeaconBlock finalized_block = 2;
}
2019-01-21 18:41:16 +00:00
message FinalizedStateAnnounce {
bytes block_root = 1;
bytes state_root = 2;
uint64 slot = 3;
}
message ProposerSlashingAnnounce {
bytes hash = 1;
}
message ProposerSlashingRequest {
bytes hash = 1;
}
message ProposerSlashingResponse {
bytes hash = 1;
ethereum.eth.v1alpha1.ProposerSlashing proposer_slashing = 2;
}
message AttesterSlashingAnnounce {
bytes hash = 1;
}
message AttesterSlashingRequest {
bytes hash = 1;
}
message AttesterSlashingResponse {
bytes hash = 1;
ethereum.eth.v1alpha1.AttesterSlashing Attester_slashing = 2;
}
message DepositAnnounce {
bytes hash = 1;
}
message DepositRequest {
bytes hash = 1;
}
message DepositResponse {
bytes hash = 1;
ethereum.eth.v1alpha1.Deposit deposit = 2;
}
message ExitAnnounce {
bytes hash = 1;
}
message ExitRequest {
bytes hash = 1;
}
message ExitResponse {
bytes hash = 1;
ethereum.eth.v1alpha1.VoluntaryExit voluntary_exit = 2;
}
message Handshake {
string deposit_contract_address = 1;
}