Files
prysm/proto/prysm/v1alpha1/p2p_messages.proto
Manu NALEPA e8625cd89d Peerdas various (#15423)
* Topic mapping: Groupe `const` and `var`.

Cosmetic change, no functional change.

* `TopicFromMessage`: Do not assume anymore that all Fulu specific topics are V3 only.

* Proto: Remove unused `DataColumnIdentifier` and add new `StatusV2`.

`DataColumnIdentifier` was removed in the spec here: https://github.com/ethereum/consensus-specs/pull/4284. Eventually, we stopped using it in Prysm, but never removed the corresponding proto message.

The new `StatusV2` is introduced in the spec here: https://github.com/ethereum/consensus-specs/pull/4374

* `readChunkedDataColumnSideCar` ==> `readChunkedDataColumnSidecar`.

* `rpc_send_request.go`: Reorganize file (no function change).

* `readChunkedDataColumnSidecar`: Add `validationFunctions` parameter and add tests.
2025-06-23 14:47:02 +00:00

172 lines
4.2 KiB
Protocol Buffer

syntax = "proto3";
package ethereum.eth.v1alpha1;
import "google/protobuf/descriptor.proto";
import "proto/eth/ext/options.proto";
option csharp_namespace = "Ethereum.Eth.V1alpha1";
option go_package = "github.com/OffchainLabs/prysm/v6/proto/prysm/v1alpha1;eth";
option java_multiple_files = true;
option java_outer_classname = "P2PMessagesProto";
option java_package = "org.ethereum.eth.v1alpha1";
option php_namespace = "Ethereum\\Eth\\v1alpha1";
message Status {
bytes fork_digest = 1 [(ethereum.eth.ext.ssz_size) = "4"];
bytes finalized_root = 2 [(ethereum.eth.ext.ssz_size) = "32"];
uint64 finalized_epoch = 3 [
(ethereum.eth.ext.cast_type) =
"github.com/OffchainLabs/prysm/v6/consensus-types/primitives.Epoch"
];
bytes head_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
uint64 head_slot = 5 [
(ethereum.eth.ext.cast_type) =
"github.com/OffchainLabs/prysm/v6/consensus-types/primitives.Slot"
];
}
message StatusV2 {
bytes fork_digest = 1 [(ethereum.eth.ext.ssz_size) = "4"];
bytes finalized_root = 2 [(ethereum.eth.ext.ssz_size) = "32"];
uint64 finalized_epoch = 3 [
(ethereum.eth.ext.cast_type) =
"github.com/OffchainLabs/prysm/v6/consensus-types/primitives.Epoch"
];
bytes head_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
uint64 head_slot = 5 [
(ethereum.eth.ext.cast_type) =
"github.com/OffchainLabs/prysm/v6/consensus-types/primitives.Slot"
];
uint64 earliest_available_slot = 6 [
(ethereum.eth.ext.cast_type) =
"github.com/OffchainLabs/prysm/v6/consensus-types/primitives.Slot"
];
}
message BeaconBlocksByRangeRequest {
uint64 start_slot = 1 [
(ethereum.eth.ext.cast_type) =
"github.com/OffchainLabs/prysm/v6/consensus-types/primitives.Slot"
];
uint64 count = 2;
uint64 step = 3;
}
message ENRForkID {
bytes current_fork_digest = 1 [(ethereum.eth.ext.ssz_size) = "4"];
bytes next_fork_version = 2 [(ethereum.eth.ext.ssz_size) = "4"];
uint64 next_fork_epoch = 3 [
(ethereum.eth.ext.cast_type) =
"github.com/OffchainLabs/prysm/v6/consensus-types/primitives.Epoch"
];
}
/*
Spec Definition:
MetaData
(
seq_number: uint64
attnets: Bitvector[ATTESTATION_SUBNET_COUNT]
)
*/
message MetaDataV0 {
uint64 seq_number = 1;
bytes attnets = 2 [
(ethereum.eth.ext.ssz_size) = "8",
(ethereum.eth.ext.cast_type) =
"github.com/prysmaticlabs/go-bitfield.Bitvector64"
];
}
/*
Spec Definition:
MetaData
(
seq_number: uint64
attnets: Bitvector[ATTESTATION_SUBNET_COUNT]
syncnets: Bitvector[SYNC_COMMITTEE_SUBNET_COUNT]
)
*/
message MetaDataV1 {
uint64 seq_number = 1;
bytes attnets = 2 [
(ethereum.eth.ext.ssz_size) = "8",
(ethereum.eth.ext.cast_type) =
"github.com/prysmaticlabs/go-bitfield.Bitvector64"
];
bytes syncnets = 3 [
(ethereum.eth.ext.ssz_size) = "1",
(ethereum.eth.ext.cast_type) =
"github.com/prysmaticlabs/go-bitfield.Bitvector4"
];
}
/*
Spec Definition:
MetaData
(
seq_number: uint64
attnets: Bitvector[ATTESTATION_SUBNET_COUNT]
syncnets: Bitvector[SYNC_COMMITTEE_SUBNET_COUNT]
custody_group_count: uint64
)
*/
message MetaDataV2 {
uint64 seq_number = 1;
bytes attnets = 2 [
(ethereum.eth.ext.ssz_size) = "8",
(ethereum.eth.ext.cast_type) =
"github.com/prysmaticlabs/go-bitfield.Bitvector64"
];
bytes syncnets = 3 [
(ethereum.eth.ext.ssz_size) = "1",
(ethereum.eth.ext.cast_type) =
"github.com/prysmaticlabs/go-bitfield.Bitvector4"
];
uint64 custody_group_count = 4;
}
/*
Spec Definition:
(
start_slot: Slot
count: uint64
)
*/
message BlobSidecarsByRangeRequest {
uint64 start_slot = 1 [
(ethereum.eth.ext.cast_type) =
"github.com/OffchainLabs/prysm/v6/consensus-types/primitives.Slot"
];
uint64 count = 2;
}
/*
Spec Definition:
(
start_slot: Slot
count: uint64
columns: List[ColumnIndex]
)
*/
message DataColumnSidecarsByRangeRequest {
uint64 start_slot = 1 [
(ethereum.eth.ext.cast_type) =
"github.com/OffchainLabs/prysm/v6/consensus-types/primitives.Slot"
];
uint64 count = 2;
repeated uint64 columns = 3 [(ethereum.eth.ext.ssz_max) = "128"];
}
/*
Spec Definition:
(
start_period: uint64
count: uint64
)
*/
message LightClientUpdatesByRangeRequest {
uint64 start_period = 1;
uint64 count = 2;
}