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"; import "github.com/gogo/protobuf/gogoproto/gogo.proto"; enum Topic { UNKNOWN = 0; BEACON_BLOCK_ANNOUNCE = 1 [deprecated=true]; BEACON_BLOCK_REQUEST = 2 [deprecated=true]; BEACON_BLOCK_REQUEST_BY_SLOT_NUMBER = 3 [deprecated=true]; BEACON_BLOCK_RESPONSE = 4 [deprecated=true]; BATCHED_BEACON_BLOCK_REQUEST = 5 [deprecated=true]; BATCHED_BEACON_BLOCK_RESPONSE = 6 [deprecated=true]; CHAIN_HEAD_REQUEST = 7 [deprecated=true]; CHAIN_HEAD_RESPONSE = 8 [deprecated=true]; BEACON_STATE_HASH_ANNOUNCE = 9 [deprecated=true]; BEACON_STATE_REQUEST = 10 [deprecated=true]; BEACON_STATE_RESPONSE = 11 [deprecated=true]; BEACON_ATTESTATION = 12 [deprecated=true]; } message Envelope { bytes span_context = 1; bytes payload = 2; google.protobuf.Timestamp timestamp = 3; } message BeaconBlockAnnounce { option deprecated = true; bytes hash = 1; uint64 slot_number = 2; } message BeaconBlockRequest { option deprecated = true; bytes hash = 1; } message BeaconBlockRequestBySlotNumber { option deprecated = true; uint64 slot_number = 1; } message BeaconBlockResponse { option deprecated = true; ethereum.eth.v1alpha1.BeaconBlock block = 1; ethereum.eth.v1alpha1.Attestation attestation = 2; } message BatchedBeaconBlockRequest { option deprecated = true; uint64 start_slot = 1 [deprecated=true]; uint64 end_slot = 2 [deprecated=true]; bytes finalized_root = 3; bytes canonical_root = 4; } message BatchedBeaconBlockResponse { option deprecated = true; repeated ethereum.eth.v1alpha1.BeaconBlock batched_blocks = 1; } message ChainHeadRequest { option deprecated = true; } message ChainHeadResponse { option deprecated = true; 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; } message BeaconStateHashAnnounce { option deprecated = true; bytes hash = 1; } message BeaconStateRequest { option deprecated = true; bytes finalized_state_root_hash32s = 1; } message BeaconStateResponse { option deprecated = true; BeaconState finalized_state = 1; ethereum.eth.v1alpha1.BeaconBlock finalized_block = 2; } message FinalizedStateAnnounce { option deprecated = true; bytes block_root = 1; bytes state_root = 2; uint64 slot = 3; } message ProposerSlashingAnnounce { option deprecated = true; bytes hash = 1; } message ProposerSlashingRequest { option deprecated = true; bytes hash = 1; } message ProposerSlashingResponse { option deprecated = true; bytes hash = 1; ethereum.eth.v1alpha1.ProposerSlashing proposer_slashing = 2; } message AttesterSlashingAnnounce { option deprecated = true; bytes hash = 1; } message AttesterSlashingRequest { option deprecated = true; bytes hash = 1; } message AttesterSlashingResponse { option deprecated = true; bytes hash = 1; ethereum.eth.v1alpha1.AttesterSlashing Attester_slashing = 2; } message DepositAnnounce { option deprecated = true; bytes hash = 1; } message DepositRequest { option deprecated = true; bytes hash = 1; } message DepositResponse { option deprecated = true; bytes hash = 1; ethereum.eth.v1alpha1.Deposit deposit = 2; } message ExitAnnounce { option deprecated = true; bytes hash = 1; } message ExitRequest { option deprecated = true; bytes hash = 1; } message ExitResponse { option deprecated = true; bytes hash = 1; ethereum.eth.v1alpha1.VoluntaryExit voluntary_exit = 2; } message Handshake { option deprecated = true; string deposit_contract_address = 1; }