mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 15:37:56 -05:00
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.
This commit is contained in:
@@ -22,50 +22,52 @@ const (
|
|||||||
SchemaVersionV3 = "/3"
|
SchemaVersionV3 = "/3"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Specifies the protocol prefix for all our Req/Resp topics.
|
const (
|
||||||
const protocolPrefix = "/eth2/beacon_chain/req"
|
// Specifies the protocol prefix for all our Req/Resp topics.
|
||||||
|
protocolPrefix = "/eth2/beacon_chain/req"
|
||||||
|
|
||||||
// StatusMessageName specifies the name for the status message topic.
|
// StatusMessageName specifies the name for the status message topic.
|
||||||
const StatusMessageName = "/status"
|
StatusMessageName = "/status"
|
||||||
|
|
||||||
// GoodbyeMessageName specifies the name for the goodbye message topic.
|
// GoodbyeMessageName specifies the name for the goodbye message topic.
|
||||||
const GoodbyeMessageName = "/goodbye"
|
GoodbyeMessageName = "/goodbye"
|
||||||
|
|
||||||
// BeaconBlocksByRangeMessageName specifies the name for the beacon blocks by range message topic.
|
// BeaconBlocksByRangeMessageName specifies the name for the beacon blocks by range message topic.
|
||||||
const BeaconBlocksByRangeMessageName = "/beacon_blocks_by_range"
|
BeaconBlocksByRangeMessageName = "/beacon_blocks_by_range"
|
||||||
|
|
||||||
// BeaconBlocksByRootsMessageName specifies the name for the beacon blocks by root message topic.
|
// BeaconBlocksByRootsMessageName specifies the name for the beacon blocks by root message topic.
|
||||||
const BeaconBlocksByRootsMessageName = "/beacon_blocks_by_root"
|
BeaconBlocksByRootsMessageName = "/beacon_blocks_by_root"
|
||||||
|
|
||||||
// PingMessageName Specifies the name for the ping message topic.
|
// PingMessageName Specifies the name for the ping message topic.
|
||||||
const PingMessageName = "/ping"
|
PingMessageName = "/ping"
|
||||||
|
|
||||||
// MetadataMessageName specifies the name for the metadata message topic.
|
// MetadataMessageName specifies the name for the metadata message topic.
|
||||||
const MetadataMessageName = "/metadata"
|
MetadataMessageName = "/metadata"
|
||||||
|
|
||||||
// BlobSidecarsByRangeName is the name for the BlobSidecarsByRange v1 message topic.
|
// BlobSidecarsByRangeName is the name for the BlobSidecarsByRange v1 message topic.
|
||||||
const BlobSidecarsByRangeName = "/blob_sidecars_by_range"
|
BlobSidecarsByRangeName = "/blob_sidecars_by_range"
|
||||||
|
|
||||||
// BlobSidecarsByRootName is the name for the BlobSidecarsByRoot v1 message topic.
|
// BlobSidecarsByRootName is the name for the BlobSidecarsByRoot v1 message topic.
|
||||||
const BlobSidecarsByRootName = "/blob_sidecars_by_root"
|
BlobSidecarsByRootName = "/blob_sidecars_by_root"
|
||||||
|
|
||||||
// LightClientBootstrapName is the name for the LightClientBootstrap message topic,
|
// LightClientBootstrapName is the name for the LightClientBootstrap message topic,
|
||||||
const LightClientBootstrapName = "/light_client_bootstrap"
|
LightClientBootstrapName = "/light_client_bootstrap"
|
||||||
|
|
||||||
// LightClientUpdatesByRangeName is the name for the LightClientUpdatesByRange topic.
|
// LightClientUpdatesByRangeName is the name for the LightClientUpdatesByRange topic.
|
||||||
const LightClientUpdatesByRangeName = "/light_client_updates_by_range"
|
LightClientUpdatesByRangeName = "/light_client_updates_by_range"
|
||||||
|
|
||||||
// LightClientFinalityUpdateName is the name for the LightClientFinalityUpdate topic.
|
// LightClientFinalityUpdateName is the name for the LightClientFinalityUpdate topic.
|
||||||
const LightClientFinalityUpdateName = "/light_client_finality_update"
|
LightClientFinalityUpdateName = "/light_client_finality_update"
|
||||||
|
|
||||||
// LightClientOptimisticUpdateName is the name for the LightClientOptimisticUpdate topic.
|
// LightClientOptimisticUpdateName is the name for the LightClientOptimisticUpdate topic.
|
||||||
const LightClientOptimisticUpdateName = "/light_client_optimistic_update"
|
LightClientOptimisticUpdateName = "/light_client_optimistic_update"
|
||||||
|
|
||||||
// DataColumnSidecarsByRootName is the name for the DataColumnSidecarsByRoot v1 message topic.
|
// DataColumnSidecarsByRootName is the name for the DataColumnSidecarsByRoot v1 message topic.
|
||||||
const DataColumnSidecarsByRootName = "/data_column_sidecars_by_root"
|
DataColumnSidecarsByRootName = "/data_column_sidecars_by_root"
|
||||||
|
|
||||||
// DataColumnSidecarsByRangeName is the name for the DataColumnSidecarsByRange v1 message topic.
|
// DataColumnSidecarsByRangeName is the name for the DataColumnSidecarsByRange v1 message topic.
|
||||||
const DataColumnSidecarsByRangeName = "/data_column_sidecars_by_range"
|
DataColumnSidecarsByRangeName = "/data_column_sidecars_by_range"
|
||||||
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// V1 RPC Topics
|
// V1 RPC Topics
|
||||||
@@ -124,94 +126,103 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// RPCTopicMappings map the base message type to the rpc request.
|
// RPCTopicMappings map the base message type to the rpc request.
|
||||||
var RPCTopicMappings = map[string]interface{}{
|
var (
|
||||||
// RPC Status Message
|
RPCTopicMappings = map[string]interface{}{
|
||||||
RPCStatusTopicV1: new(pb.Status),
|
// RPC Status Message
|
||||||
// RPC Goodbye Message
|
RPCStatusTopicV1: new(pb.Status),
|
||||||
RPCGoodByeTopicV1: new(primitives.SSZUint64),
|
|
||||||
// RPC Block By Range Message
|
|
||||||
RPCBlocksByRangeTopicV1: new(pb.BeaconBlocksByRangeRequest),
|
|
||||||
RPCBlocksByRangeTopicV2: new(pb.BeaconBlocksByRangeRequest),
|
|
||||||
// RPC Block By Root Message
|
|
||||||
RPCBlocksByRootTopicV1: new(p2ptypes.BeaconBlockByRootsReq),
|
|
||||||
RPCBlocksByRootTopicV2: new(p2ptypes.BeaconBlockByRootsReq),
|
|
||||||
// RPC Ping Message
|
|
||||||
RPCPingTopicV1: new(primitives.SSZUint64),
|
|
||||||
// RPC Metadata Message
|
|
||||||
RPCMetaDataTopicV1: new(interface{}),
|
|
||||||
RPCMetaDataTopicV2: new(interface{}),
|
|
||||||
RPCMetaDataTopicV3: new(interface{}),
|
|
||||||
// BlobSidecarsByRange v1 Message
|
|
||||||
RPCBlobSidecarsByRangeTopicV1: new(pb.BlobSidecarsByRangeRequest),
|
|
||||||
// BlobSidecarsByRoot v1 Message
|
|
||||||
RPCBlobSidecarsByRootTopicV1: new(p2ptypes.BlobSidecarsByRootReq),
|
|
||||||
|
|
||||||
// Light client
|
// RPC Goodbye Message
|
||||||
RPCLightClientBootstrapTopicV1: new([fieldparams.RootLength]byte),
|
RPCGoodByeTopicV1: new(primitives.SSZUint64),
|
||||||
RPCLightClientUpdatesByRangeTopicV1: new(pb.LightClientUpdatesByRangeRequest),
|
|
||||||
RPCLightClientFinalityUpdateTopicV1: new(interface{}),
|
|
||||||
RPCLightClientOptimisticUpdateTopicV1: new(interface{}),
|
|
||||||
|
|
||||||
// DataColumnSidecarsByRange v1 Message
|
// RPC Block By Range Message
|
||||||
RPCDataColumnSidecarsByRangeTopicV1: new(pb.DataColumnSidecarsByRangeRequest),
|
RPCBlocksByRangeTopicV1: new(pb.BeaconBlocksByRangeRequest),
|
||||||
// DataColumnSidecarsByRoot v1 Message
|
RPCBlocksByRangeTopicV2: new(pb.BeaconBlocksByRangeRequest),
|
||||||
RPCDataColumnSidecarsByRootTopicV1: new(p2ptypes.DataColumnsByRootIdentifiers),
|
|
||||||
}
|
|
||||||
|
|
||||||
// Maps all registered protocol prefixes.
|
// RPC Block By Root Message
|
||||||
var protocolMapping = map[string]bool{
|
RPCBlocksByRootTopicV1: new(p2ptypes.BeaconBlockByRootsReq),
|
||||||
protocolPrefix: true,
|
RPCBlocksByRootTopicV2: new(p2ptypes.BeaconBlockByRootsReq),
|
||||||
}
|
|
||||||
|
|
||||||
// Maps all the protocol message names for the different rpc
|
// RPC Ping Message
|
||||||
// topics.
|
RPCPingTopicV1: new(primitives.SSZUint64),
|
||||||
var messageMapping = map[string]bool{
|
|
||||||
StatusMessageName: true,
|
|
||||||
GoodbyeMessageName: true,
|
|
||||||
BeaconBlocksByRangeMessageName: true,
|
|
||||||
BeaconBlocksByRootsMessageName: true,
|
|
||||||
PingMessageName: true,
|
|
||||||
MetadataMessageName: true,
|
|
||||||
BlobSidecarsByRangeName: true,
|
|
||||||
BlobSidecarsByRootName: true,
|
|
||||||
LightClientBootstrapName: true,
|
|
||||||
LightClientUpdatesByRangeName: true,
|
|
||||||
LightClientFinalityUpdateName: true,
|
|
||||||
LightClientOptimisticUpdateName: true,
|
|
||||||
DataColumnSidecarsByRootName: true,
|
|
||||||
DataColumnSidecarsByRangeName: true,
|
|
||||||
}
|
|
||||||
|
|
||||||
// Maps all the RPC messages which are to updated in altair.
|
// RPC Metadata Message
|
||||||
var altairMapping = map[string]bool{
|
RPCMetaDataTopicV1: new(interface{}),
|
||||||
BeaconBlocksByRangeMessageName: true,
|
RPCMetaDataTopicV2: new(interface{}),
|
||||||
BeaconBlocksByRootsMessageName: true,
|
RPCMetaDataTopicV3: new(interface{}),
|
||||||
MetadataMessageName: true,
|
|
||||||
}
|
|
||||||
|
|
||||||
// Maps all the RPC messages which are to updated in fulu.
|
// BlobSidecarsByRange v1 Message
|
||||||
var fuluMapping = map[string]bool{
|
RPCBlobSidecarsByRangeTopicV1: new(pb.BlobSidecarsByRangeRequest),
|
||||||
MetadataMessageName: true,
|
|
||||||
}
|
|
||||||
|
|
||||||
var versionMapping = map[string]bool{
|
// BlobSidecarsByRoot v1 Message
|
||||||
SchemaVersionV1: true,
|
RPCBlobSidecarsByRootTopicV1: new(p2ptypes.BlobSidecarsByRootReq),
|
||||||
SchemaVersionV2: true,
|
|
||||||
SchemaVersionV3: true,
|
|
||||||
}
|
|
||||||
|
|
||||||
// OmitContextBytesV1 keeps track of which RPC methods do not write context bytes in their v1 incarnations.
|
// Light client
|
||||||
// Phase0 did not have the notion of context bytes, which prefix wire-encoded values with a [4]byte identifier
|
RPCLightClientBootstrapTopicV1: new([fieldparams.RootLength]byte),
|
||||||
// to convey the schema for the receiver to use. These RPCs had a version bump to V2 when the context byte encoding
|
RPCLightClientUpdatesByRangeTopicV1: new(pb.LightClientUpdatesByRangeRequest),
|
||||||
// was introduced. For other RPC methods, context bytes are always required.
|
RPCLightClientFinalityUpdateTopicV1: new(interface{}),
|
||||||
var OmitContextBytesV1 = map[string]bool{
|
RPCLightClientOptimisticUpdateTopicV1: new(interface{}),
|
||||||
StatusMessageName: true,
|
|
||||||
GoodbyeMessageName: true,
|
// DataColumnSidecarsByRange v1 Message
|
||||||
BeaconBlocksByRangeMessageName: true,
|
RPCDataColumnSidecarsByRangeTopicV1: new(pb.DataColumnSidecarsByRangeRequest),
|
||||||
BeaconBlocksByRootsMessageName: true,
|
|
||||||
PingMessageName: true,
|
// DataColumnSidecarsByRoot v1 Message
|
||||||
MetadataMessageName: true,
|
RPCDataColumnSidecarsByRootTopicV1: new(p2ptypes.DataColumnsByRootIdentifiers),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Maps all registered protocol prefixes.
|
||||||
|
protocolMapping = map[string]bool{
|
||||||
|
protocolPrefix: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
// Maps all the protocol message names for the different rpc topics.
|
||||||
|
messageMapping = map[string]bool{
|
||||||
|
StatusMessageName: true,
|
||||||
|
GoodbyeMessageName: true,
|
||||||
|
BeaconBlocksByRangeMessageName: true,
|
||||||
|
BeaconBlocksByRootsMessageName: true,
|
||||||
|
PingMessageName: true,
|
||||||
|
MetadataMessageName: true,
|
||||||
|
BlobSidecarsByRangeName: true,
|
||||||
|
BlobSidecarsByRootName: true,
|
||||||
|
LightClientBootstrapName: true,
|
||||||
|
LightClientUpdatesByRangeName: true,
|
||||||
|
LightClientFinalityUpdateName: true,
|
||||||
|
LightClientOptimisticUpdateName: true,
|
||||||
|
DataColumnSidecarsByRootName: true,
|
||||||
|
DataColumnSidecarsByRangeName: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
// Maps all the RPC messages which are to updated in altair.
|
||||||
|
altairMapping = map[string]string{
|
||||||
|
BeaconBlocksByRangeMessageName: SchemaVersionV2,
|
||||||
|
BeaconBlocksByRootsMessageName: SchemaVersionV2,
|
||||||
|
MetadataMessageName: SchemaVersionV2,
|
||||||
|
}
|
||||||
|
|
||||||
|
// Maps all the RPC messages which are to updated in fulu.
|
||||||
|
fuluMapping = map[string]string{
|
||||||
|
MetadataMessageName: SchemaVersionV3,
|
||||||
|
}
|
||||||
|
|
||||||
|
versionMapping = map[string]bool{
|
||||||
|
SchemaVersionV1: true,
|
||||||
|
SchemaVersionV2: true,
|
||||||
|
SchemaVersionV3: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
// OmitContextBytesV1 keeps track of which RPC methods do not write context bytes in their v1 incarnations.
|
||||||
|
// Phase0 did not have the notion of context bytes, which prefix wire-encoded values with a [4]byte identifier
|
||||||
|
// to convey the schema for the receiver to use. These RPCs had a version bump to V2 when the context byte encoding
|
||||||
|
// was introduced. For other RPC methods, context bytes are always required.
|
||||||
|
OmitContextBytesV1 = map[string]bool{
|
||||||
|
StatusMessageName: true,
|
||||||
|
GoodbyeMessageName: true,
|
||||||
|
BeaconBlocksByRangeMessageName: true,
|
||||||
|
BeaconBlocksByRootsMessageName: true,
|
||||||
|
PingMessageName: true,
|
||||||
|
MetadataMessageName: true,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
// VerifyTopicMapping verifies that the topic and its accompanying
|
// VerifyTopicMapping verifies that the topic and its accompanying
|
||||||
// message type is correct.
|
// message type is correct.
|
||||||
@@ -333,13 +344,17 @@ func TopicFromMessage(msg string, epoch primitives.Epoch) (string, error) {
|
|||||||
beaconConfig := params.BeaconConfig()
|
beaconConfig := params.BeaconConfig()
|
||||||
|
|
||||||
// Check if the message is to be updated in fulu.
|
// Check if the message is to be updated in fulu.
|
||||||
if epoch >= beaconConfig.FuluForkEpoch && fuluMapping[msg] {
|
if epoch >= beaconConfig.FuluForkEpoch {
|
||||||
return protocolPrefix + msg + SchemaVersionV3, nil
|
if version, ok := fuluMapping[msg]; ok {
|
||||||
|
return protocolPrefix + msg + version, nil
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if the message is to be updated in altair.
|
// Check if the message is to be updated in altair.
|
||||||
if epoch >= beaconConfig.AltairForkEpoch && altairMapping[msg] {
|
if epoch >= beaconConfig.AltairForkEpoch {
|
||||||
return protocolPrefix + msg + SchemaVersionV2, nil
|
if version, ok := altairMapping[msg]; ok {
|
||||||
|
return protocolPrefix + msg + version, nil
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return protocolPrefix + msg + SchemaVersionV1, nil
|
return protocolPrefix + msg + SchemaVersionV1, nil
|
||||||
|
|||||||
@@ -119,50 +119,31 @@ func TestTopicFromMessage_CorrectType(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("after altair fork but before fulu fork", func(t *testing.T) {
|
t.Run("after altair fork but before fulu fork", func(t *testing.T) {
|
||||||
for m := range messageMapping {
|
// Not modified in altair fork.
|
||||||
topic, err := TopicFromMessage(m, altairForkEpoch)
|
topic, err := TopicFromMessage(GoodbyeMessageName, altairForkEpoch)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, "/eth2/beacon_chain/req/goodbye/1", topic)
|
||||||
|
|
||||||
if altairMapping[m] {
|
// Modified in altair fork.
|
||||||
require.Equal(t, true, strings.Contains(topic, SchemaVersionV2))
|
topic, err = TopicFromMessage(MetadataMessageName, altairForkEpoch)
|
||||||
_, _, version, err := TopicDeconstructor(topic)
|
require.NoError(t, err)
|
||||||
require.NoError(t, err)
|
require.Equal(t, "/eth2/beacon_chain/req/metadata/2", topic)
|
||||||
require.Equal(t, SchemaVersionV2, version)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
require.Equal(t, true, strings.Contains(topic, SchemaVersionV1))
|
|
||||||
_, _, version, err := TopicDeconstructor(topic)
|
|
||||||
require.NoError(t, err)
|
|
||||||
require.Equal(t, SchemaVersionV1, version)
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("after fulu fork", func(t *testing.T) {
|
t.Run("after fulu fork", func(t *testing.T) {
|
||||||
for m := range messageMapping {
|
// Not modified in any fork.
|
||||||
topic, err := TopicFromMessage(m, fuluForkEpoch)
|
topic, err := TopicFromMessage(GoodbyeMessageName, fuluForkEpoch)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, "/eth2/beacon_chain/req/goodbye/1", topic)
|
||||||
|
|
||||||
if fuluMapping[m] {
|
// Modified in altair fork.
|
||||||
require.Equal(t, true, strings.Contains(topic, SchemaVersionV3))
|
topic, err = TopicFromMessage(BeaconBlocksByRangeMessageName, fuluForkEpoch)
|
||||||
_, _, version, err := TopicDeconstructor(topic)
|
require.NoError(t, err)
|
||||||
require.NoError(t, err)
|
require.Equal(t, "/eth2/beacon_chain/req/beacon_blocks_by_range/2", topic)
|
||||||
require.Equal(t, SchemaVersionV3, version)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if altairMapping[m] {
|
// Modified both in altair and fulu fork.
|
||||||
require.Equal(t, true, strings.Contains(topic, SchemaVersionV2))
|
topic, err = TopicFromMessage(MetadataMessageName, fuluForkEpoch)
|
||||||
_, _, version, err := TopicDeconstructor(topic)
|
require.NoError(t, err)
|
||||||
require.NoError(t, err)
|
require.Equal(t, "/eth2/beacon_chain/req/metadata/3", topic)
|
||||||
require.Equal(t, SchemaVersionV2, version)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
require.Equal(t, true, strings.Contains(topic, SchemaVersionV1))
|
|
||||||
_, _, version, err := TopicDeconstructor(topic)
|
|
||||||
require.NoError(t, err)
|
|
||||||
require.Equal(t, SchemaVersionV1, version)
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ func TestDataColumnSidecarsByRangeRPCHandler(t *testing.T) {
|
|||||||
sidecars := make([]*blocks.RODataColumn, 0, 5)
|
sidecars := make([]*blocks.RODataColumn, 0, 5)
|
||||||
|
|
||||||
for i := uint64(0); ; /* no stop condition */ i++ {
|
for i := uint64(0); ; /* no stop condition */ i++ {
|
||||||
sidecar, err := readChunkedDataColumnSideCar(stream, remoteP2P, ctxMap)
|
sidecar, err := readChunkedDataColumnSidecar(stream, remoteP2P, ctxMap)
|
||||||
if errors.Is(err, io.EOF) {
|
if errors.Is(err, io.EOF) {
|
||||||
// End of stream.
|
// End of stream.
|
||||||
break
|
break
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ func TestDataColumnSidecarsByRootRPCHandler(t *testing.T) {
|
|||||||
sidecars := make([]*blocks.RODataColumn, 0, 5)
|
sidecars := make([]*blocks.RODataColumn, 0, 5)
|
||||||
|
|
||||||
for i := uint64(0); ; /* no stop condition */ i++ {
|
for i := uint64(0); ; /* no stop condition */ i++ {
|
||||||
sidecar, err := readChunkedDataColumnSideCar(stream, remoteP2P, ctxMap)
|
sidecar, err := readChunkedDataColumnSidecar(stream, remoteP2P, ctxMap)
|
||||||
if errors.Is(err, io.EOF) {
|
if errors.Is(err, io.EOF) {
|
||||||
// End of stream.
|
// End of stream.
|
||||||
break
|
break
|
||||||
|
|||||||
@@ -42,6 +42,10 @@ var (
|
|||||||
errDataColumnChunkedReadFailure = errors.New("failed to read stream of chunk-encoded data columns")
|
errDataColumnChunkedReadFailure = errors.New("failed to read stream of chunk-encoded data columns")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// ------
|
||||||
|
// Blocks
|
||||||
|
// ------
|
||||||
|
|
||||||
// BeaconBlockProcessor defines a block processing function, which allows to start utilizing
|
// BeaconBlockProcessor defines a block processing function, which allows to start utilizing
|
||||||
// blocks even before all blocks are ready.
|
// blocks even before all blocks are ready.
|
||||||
type BeaconBlockProcessor func(block interfaces.ReadOnlySignedBeaconBlock) error
|
type BeaconBlockProcessor func(block interfaces.ReadOnlySignedBeaconBlock) error
|
||||||
@@ -155,6 +159,14 @@ func SendBeaconBlocksByRootRequest(
|
|||||||
return blocks, nil
|
return blocks, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------
|
||||||
|
// Blob sidecars
|
||||||
|
// -------------
|
||||||
|
|
||||||
|
// BlobResponseValidation represents a function that can validate aspects of a single unmarshaled blob sidecar
|
||||||
|
// that was received from a peer in response to an rpc request.
|
||||||
|
type BlobResponseValidation func(blocks.ROBlob) error
|
||||||
|
|
||||||
func SendBlobsByRangeRequest(ctx context.Context, tor blockchain.TemporalOracle, p2pApi p2p.SenderEncoder, pid peer.ID, ctxMap ContextByteVersions, req *ethpb.BlobSidecarsByRangeRequest, bvs ...BlobResponseValidation) ([]blocks.ROBlob, error) {
|
func SendBlobsByRangeRequest(ctx context.Context, tor blockchain.TemporalOracle, p2pApi p2p.SenderEncoder, pid peer.ID, ctxMap ContextByteVersions, req *ethpb.BlobSidecarsByRangeRequest, bvs ...BlobResponseValidation) ([]blocks.ROBlob, error) {
|
||||||
topic, err := p2p.TopicFromMessage(p2p.BlobSidecarsByRangeName, slots.ToEpoch(tor.CurrentSlot()))
|
topic, err := p2p.TopicFromMessage(p2p.BlobSidecarsByRangeName, slots.ToEpoch(tor.CurrentSlot()))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -216,10 +228,6 @@ func SendBlobSidecarByRoot(
|
|||||||
return readChunkEncodedBlobs(stream, p2pApi.Encoding(), ctxMap, blobValidatorFromRootReq(req), max)
|
return readChunkEncodedBlobs(stream, p2pApi.Encoding(), ctxMap, blobValidatorFromRootReq(req), max)
|
||||||
}
|
}
|
||||||
|
|
||||||
// BlobResponseValidation represents a function that can validate aspects of a single unmarshaled blob
|
|
||||||
// that was received from a peer in response to an rpc request.
|
|
||||||
type BlobResponseValidation func(blocks.ROBlob) error
|
|
||||||
|
|
||||||
func composeBlobValidations(vf ...BlobResponseValidation) BlobResponseValidation {
|
func composeBlobValidations(vf ...BlobResponseValidation) BlobResponseValidation {
|
||||||
return func(blob blocks.ROBlob) error {
|
return func(blob blocks.ROBlob) error {
|
||||||
for i := range vf {
|
for i := range vf {
|
||||||
@@ -385,10 +393,19 @@ func readChunkedBlobSidecar(stream network.Stream, encoding encoder.NetworkEncod
|
|||||||
return rob, nil
|
return rob, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func readChunkedDataColumnSideCar(
|
// --------------------
|
||||||
|
// Data column sidecars
|
||||||
|
// --------------------
|
||||||
|
|
||||||
|
// DataColumnResponseValidation represents a function that can validate aspects of a single unmarshaled data column sidecar
|
||||||
|
// that was received from a peer in response to an rpc request.
|
||||||
|
type DataColumnResponseValidation func(column blocks.RODataColumn) error
|
||||||
|
|
||||||
|
func readChunkedDataColumnSidecar(
|
||||||
stream network.Stream,
|
stream network.Stream,
|
||||||
p2pApi p2p.P2P,
|
p2pApi p2p.P2P,
|
||||||
ctxMap ContextByteVersions,
|
ctxMap ContextByteVersions,
|
||||||
|
validationFunctions ...DataColumnResponseValidation,
|
||||||
) (*blocks.RODataColumn, error) {
|
) (*blocks.RODataColumn, error) {
|
||||||
// Read the status code from the stream.
|
// Read the status code from the stream.
|
||||||
statusCode, errMessage, err := ReadStatusCode(stream, p2pApi.Encoding())
|
statusCode, errMessage, err := ReadStatusCode(stream, p2pApi.Encoding())
|
||||||
@@ -432,5 +449,12 @@ func readChunkedDataColumnSideCar(
|
|||||||
return nil, errors.Wrap(err, "new read only data column")
|
return nil, errors.Wrap(err, "new read only data column")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Run validation functions.
|
||||||
|
for _, validationFunction := range validationFunctions {
|
||||||
|
if err := validationFunction(roDataColumn); err != nil {
|
||||||
|
return nil, errors.Wrap(err, "validation function")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return &roDataColumn, nil
|
return &roDataColumn, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
|
"sync"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@@ -20,6 +21,7 @@ import (
|
|||||||
"github.com/OffchainLabs/prysm/v6/consensus-types/primitives"
|
"github.com/OffchainLabs/prysm/v6/consensus-types/primitives"
|
||||||
"github.com/OffchainLabs/prysm/v6/encoding/bytesutil"
|
"github.com/OffchainLabs/prysm/v6/encoding/bytesutil"
|
||||||
ethpb "github.com/OffchainLabs/prysm/v6/proto/prysm/v1alpha1"
|
ethpb "github.com/OffchainLabs/prysm/v6/proto/prysm/v1alpha1"
|
||||||
|
"github.com/OffchainLabs/prysm/v6/runtime/version"
|
||||||
"github.com/OffchainLabs/prysm/v6/testing/assert"
|
"github.com/OffchainLabs/prysm/v6/testing/assert"
|
||||||
"github.com/OffchainLabs/prysm/v6/testing/require"
|
"github.com/OffchainLabs/prysm/v6/testing/require"
|
||||||
"github.com/OffchainLabs/prysm/v6/testing/util"
|
"github.com/OffchainLabs/prysm/v6/testing/util"
|
||||||
@@ -882,3 +884,207 @@ func TestSendBlobsByRangeRequest(t *testing.T) {
|
|||||||
func TestErrInvalidFetchedDataDistinction(t *testing.T) {
|
func TestErrInvalidFetchedDataDistinction(t *testing.T) {
|
||||||
require.Equal(t, false, errors.Is(ErrInvalidFetchedData, verification.ErrBlobInvalid))
|
require.Equal(t, false, errors.Is(ErrInvalidFetchedData, verification.ErrBlobInvalid))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestReadChunkedDataColumnSidecar(t *testing.T) {
|
||||||
|
t.Run("non nil status code", func(t *testing.T) {
|
||||||
|
const reason = "a dummy reason"
|
||||||
|
|
||||||
|
p1, p2 := p2ptest.NewTestP2P(t), p2ptest.NewTestP2P(t)
|
||||||
|
|
||||||
|
var wg sync.WaitGroup
|
||||||
|
wg.Add(1)
|
||||||
|
p2.SetStreamHandler(p2p.RPCDataColumnSidecarsByRootTopicV1, func(stream network.Stream) {
|
||||||
|
defer wg.Done()
|
||||||
|
|
||||||
|
_, err := readChunkedDataColumnSidecar(stream, p2, nil)
|
||||||
|
require.ErrorContains(t, reason, err)
|
||||||
|
})
|
||||||
|
|
||||||
|
p1.Connect(p2)
|
||||||
|
|
||||||
|
stream, err := p1.BHost.NewStream(t.Context(), p2.PeerID(), p2p.RPCDataColumnSidecarsByRootTopicV1)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
writeErrorResponseToStream(responseCodeInvalidRequest, reason, stream, p1)
|
||||||
|
|
||||||
|
if util.WaitTimeout(&wg, time.Second) {
|
||||||
|
t.Fatal("Did not receive stream within 1 sec")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("unrecognized fork digest", func(t *testing.T) {
|
||||||
|
p1, p2 := p2ptest.NewTestP2P(t), p2ptest.NewTestP2P(t)
|
||||||
|
|
||||||
|
var wg sync.WaitGroup
|
||||||
|
wg.Add(1)
|
||||||
|
p2.SetStreamHandler(p2p.RPCDataColumnSidecarsByRootTopicV1, func(stream network.Stream) {
|
||||||
|
defer wg.Done()
|
||||||
|
|
||||||
|
_, err := readChunkedDataColumnSidecar(stream, p2, ContextByteVersions{})
|
||||||
|
require.ErrorContains(t, "unrecognized fork digest", err)
|
||||||
|
})
|
||||||
|
|
||||||
|
p1.Connect(p2)
|
||||||
|
|
||||||
|
stream, err := p1.BHost.NewStream(t.Context(), p2.PeerID(), p2p.RPCDataColumnSidecarsByRootTopicV1)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
_, err = stream.Write([]byte{responseCodeSuccess})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
err = writeContextToStream([]byte{42, 42, 42, 42}, stream)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
if util.WaitTimeout(&wg, time.Second) {
|
||||||
|
t.Fatal("Did not receive stream within 1 sec")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("before fulu", func(t *testing.T) {
|
||||||
|
p1, p2 := p2ptest.NewTestP2P(t), p2ptest.NewTestP2P(t)
|
||||||
|
|
||||||
|
var wg sync.WaitGroup
|
||||||
|
wg.Add(1)
|
||||||
|
p2.SetStreamHandler(p2p.RPCDataColumnSidecarsByRootTopicV1, func(stream network.Stream) {
|
||||||
|
defer wg.Done()
|
||||||
|
|
||||||
|
_, err := readChunkedDataColumnSidecar(stream, p2, ContextByteVersions{[4]byte{1, 2, 3, 4}: version.Phase0})
|
||||||
|
require.ErrorContains(t, "unexpected context bytes", err)
|
||||||
|
})
|
||||||
|
|
||||||
|
p1.Connect(p2)
|
||||||
|
|
||||||
|
stream, err := p1.BHost.NewStream(t.Context(), p2.PeerID(), p2p.RPCDataColumnSidecarsByRootTopicV1)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
_, err = stream.Write([]byte{responseCodeSuccess})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
err = writeContextToStream([]byte{1, 2, 3, 4}, stream)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
if util.WaitTimeout(&wg, time.Second) {
|
||||||
|
t.Fatal("Did not receive stream within 1 sec")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("one validation failed", func(t *testing.T) {
|
||||||
|
const reason = "a dummy reason"
|
||||||
|
|
||||||
|
p1, p2 := p2ptest.NewTestP2P(t), p2ptest.NewTestP2P(t)
|
||||||
|
|
||||||
|
var wg sync.WaitGroup
|
||||||
|
wg.Add(1)
|
||||||
|
p2.SetStreamHandler(p2p.RPCDataColumnSidecarsByRootTopicV1, func(stream network.Stream) {
|
||||||
|
defer wg.Done()
|
||||||
|
|
||||||
|
validationOne := func(column blocks.RODataColumn) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
validationTwo := func(column blocks.RODataColumn) error {
|
||||||
|
return errors.New(reason)
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err := readChunkedDataColumnSidecar(
|
||||||
|
stream,
|
||||||
|
p2,
|
||||||
|
ContextByteVersions{[4]byte{1, 2, 3, 4}: version.Fulu},
|
||||||
|
validationOne, // OK
|
||||||
|
validationTwo, // Fail
|
||||||
|
)
|
||||||
|
|
||||||
|
require.ErrorContains(t, reason, err)
|
||||||
|
})
|
||||||
|
|
||||||
|
p1.Connect(p2)
|
||||||
|
|
||||||
|
stream, err := p1.BHost.NewStream(t.Context(), p2.PeerID(), p2p.RPCDataColumnSidecarsByRootTopicV1)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
const count = 4
|
||||||
|
kzgCommitmentsInclusionProof := make([][]byte, 0, count)
|
||||||
|
for range count {
|
||||||
|
kzgCommitmentsInclusionProof = append(kzgCommitmentsInclusionProof, make([]byte, 32))
|
||||||
|
}
|
||||||
|
|
||||||
|
// Success response code.
|
||||||
|
_, err = stream.Write([]byte{responseCodeSuccess})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Fork digest.
|
||||||
|
err = writeContextToStream([]byte{1, 2, 3, 4}, stream)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Sidecar.
|
||||||
|
_, err = p1.Encoding().EncodeWithMaxLength(stream, ðpb.DataColumnSidecar{
|
||||||
|
SignedBlockHeader: ðpb.SignedBeaconBlockHeader{
|
||||||
|
Header: ðpb.BeaconBlockHeader{
|
||||||
|
ParentRoot: make([]byte, fieldparams.RootLength),
|
||||||
|
StateRoot: make([]byte, fieldparams.RootLength),
|
||||||
|
BodyRoot: make([]byte, fieldparams.RootLength),
|
||||||
|
},
|
||||||
|
Signature: make([]byte, fieldparams.BLSSignatureLength),
|
||||||
|
},
|
||||||
|
KzgCommitmentsInclusionProof: kzgCommitmentsInclusionProof,
|
||||||
|
})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
if util.WaitTimeout(&wg, time.Minute) {
|
||||||
|
t.Fatal("Did not receive stream within 1 sec")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("nominal", func(t *testing.T) {
|
||||||
|
p1, p2 := p2ptest.NewTestP2P(t), p2ptest.NewTestP2P(t)
|
||||||
|
|
||||||
|
const count = 4
|
||||||
|
kzgCommitmentsInclusionProof := make([][]byte, 0, count)
|
||||||
|
for range count {
|
||||||
|
kzgCommitmentsInclusionProof = append(kzgCommitmentsInclusionProof, make([]byte, 32))
|
||||||
|
}
|
||||||
|
|
||||||
|
expected := ðpb.DataColumnSidecar{
|
||||||
|
SignedBlockHeader: ðpb.SignedBeaconBlockHeader{
|
||||||
|
Header: ðpb.BeaconBlockHeader{
|
||||||
|
ParentRoot: make([]byte, fieldparams.RootLength),
|
||||||
|
StateRoot: make([]byte, fieldparams.RootLength),
|
||||||
|
BodyRoot: make([]byte, fieldparams.RootLength),
|
||||||
|
},
|
||||||
|
Signature: make([]byte, fieldparams.BLSSignatureLength),
|
||||||
|
},
|
||||||
|
KzgCommitmentsInclusionProof: kzgCommitmentsInclusionProof,
|
||||||
|
}
|
||||||
|
|
||||||
|
var wg sync.WaitGroup
|
||||||
|
wg.Add(1)
|
||||||
|
p2.SetStreamHandler(p2p.RPCDataColumnSidecarsByRootTopicV1, func(stream network.Stream) {
|
||||||
|
defer wg.Done()
|
||||||
|
|
||||||
|
actual, err := readChunkedDataColumnSidecar(stream, p2, ContextByteVersions{[4]byte{1, 2, 3, 4}: version.Fulu})
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.DeepSSZEqual(t, expected, actual.DataColumnSidecar)
|
||||||
|
})
|
||||||
|
|
||||||
|
p1.Connect(p2)
|
||||||
|
|
||||||
|
stream, err := p1.BHost.NewStream(t.Context(), p2.PeerID(), p2p.RPCDataColumnSidecarsByRootTopicV1)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Success response code.
|
||||||
|
_, err = stream.Write([]byte{responseCodeSuccess})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Fork digest.
|
||||||
|
err = writeContextToStream([]byte{1, 2, 3, 4}, stream)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Sidecar.
|
||||||
|
_, err = p1.Encoding().EncodeWithMaxLength(stream, expected)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
if util.WaitTimeout(&wg, time.Minute) {
|
||||||
|
t.Fatal("Did not receive stream within 1 sec")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
9
changelog/manu-peerdas-variou.md
Normal file
9
changelog/manu-peerdas-variou.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
### Changed
|
||||||
|
- In `TopicFromMessage`: Do not assume anymore that all Fulu specific topic are V3 only.
|
||||||
|
- `readChunkedDataColumnSidecar`: Add `validationFunctions` parameter and add tests.
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- New `StatusV2` proto message.
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
- Unused `DataColumnIdentifier` proto message.
|
||||||
@@ -2,14 +2,13 @@
|
|||||||
# Common
|
# Common
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
load("@rules_proto//proto:defs.bzl", "proto_library")
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Go
|
# Go
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# gazelle:ignore
|
# gazelle:ignore
|
||||||
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
|
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
|
||||||
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
|
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
|
||||||
|
load("@rules_proto//proto:defs.bzl", "proto_library")
|
||||||
load("//proto:ssz_proto_library.bzl", "ssz_proto_files")
|
load("//proto:ssz_proto_library.bzl", "ssz_proto_files")
|
||||||
load("//tools:ssz.bzl", "SSZ_DEPS", "ssz_gen_marshal")
|
load("//tools:ssz.bzl", "SSZ_DEPS", "ssz_gen_marshal")
|
||||||
|
|
||||||
@@ -189,6 +188,7 @@ ssz_fulu_objs = [
|
|||||||
"DataColumnIdentifier",
|
"DataColumnIdentifier",
|
||||||
"DataColumnsByRootIdentifier",
|
"DataColumnsByRootIdentifier",
|
||||||
"DataColumnSidecar",
|
"DataColumnSidecar",
|
||||||
|
"StatusV2",
|
||||||
"SignedBeaconBlockContentsFulu",
|
"SignedBeaconBlockContentsFulu",
|
||||||
"SignedBeaconBlockFulu",
|
"SignedBeaconBlockFulu",
|
||||||
"SignedBlindedBeaconBlockFulu",
|
"SignedBlindedBeaconBlockFulu",
|
||||||
@@ -359,15 +359,17 @@ go_library(
|
|||||||
importpath = "github.com/OffchainLabs/prysm/v6/proto/prysm/v1alpha1",
|
importpath = "github.com/OffchainLabs/prysm/v6/proto/prysm/v1alpha1",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = SSZ_DEPS + [
|
deps = SSZ_DEPS + [
|
||||||
|
"//consensus-types/primitives:go_default_library",
|
||||||
"//encoding/bytesutil:go_default_library",
|
"//encoding/bytesutil:go_default_library",
|
||||||
"//math:go_default_library",
|
"//math:go_default_library",
|
||||||
"//proto/engine/v1:go_default_library",
|
"//proto/engine/v1:go_default_library",
|
||||||
"//proto/eth/ext:go_default_library",
|
"//proto/eth/ext:go_default_library",
|
||||||
"//runtime/version:go_default_library",
|
"//runtime/version:go_default_library",
|
||||||
"//consensus-types/primitives:go_default_library",
|
|
||||||
"@com_github_pkg_errors//:go_default_library",
|
|
||||||
"@com_github_golang_protobuf//proto:go_default_library",
|
"@com_github_golang_protobuf//proto:go_default_library",
|
||||||
|
"@com_github_pkg_errors//:go_default_library",
|
||||||
"@com_github_prysmaticlabs_go_bitfield//:go_default_library", # keep
|
"@com_github_prysmaticlabs_go_bitfield//:go_default_library", # keep
|
||||||
|
"@com_github_sirupsen_logrus//:go_default_library",
|
||||||
|
"@com_github_sirupsen_logrus//hooks/test:go_default_library",
|
||||||
"@googleapis//google/api:annotations_go_proto",
|
"@googleapis//google/api:annotations_go_proto",
|
||||||
"@io_bazel_rules_go//proto/wkt:descriptor_go_proto",
|
"@io_bazel_rules_go//proto/wkt:descriptor_go_proto",
|
||||||
"@io_bazel_rules_go//proto/wkt:empty_go_proto",
|
"@io_bazel_rules_go//proto/wkt:empty_go_proto",
|
||||||
@@ -382,8 +384,6 @@ go_library(
|
|||||||
"@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
|
"@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
|
||||||
"@org_golang_google_protobuf//types/descriptorpb:go_default_library",
|
"@org_golang_google_protobuf//types/descriptorpb:go_default_library",
|
||||||
"@org_golang_google_protobuf//types/known/emptypb:go_default_library",
|
"@org_golang_google_protobuf//types/known/emptypb:go_default_library",
|
||||||
"@com_github_sirupsen_logrus//:go_default_library",
|
|
||||||
"@com_github_sirupsen_logrus//hooks/test:go_default_library",
|
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
125
proto/prysm/v1alpha1/data_columns.pb.go
generated
125
proto/prysm/v1alpha1/data_columns.pb.go
generated
@@ -109,61 +109,6 @@ func (x *DataColumnSidecar) GetKzgCommitmentsInclusionProof() [][]byte {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
type DataColumnIdentifier struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
BlockRoot []byte `protobuf:"bytes,1,opt,name=block_root,json=blockRoot,proto3" json:"block_root,omitempty" ssz-size:"32"`
|
|
||||||
Index uint64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *DataColumnIdentifier) Reset() {
|
|
||||||
*x = DataColumnIdentifier{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_proto_prysm_v1alpha1_data_columns_proto_msgTypes[1]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *DataColumnIdentifier) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*DataColumnIdentifier) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *DataColumnIdentifier) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_proto_prysm_v1alpha1_data_columns_proto_msgTypes[1]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use DataColumnIdentifier.ProtoReflect.Descriptor instead.
|
|
||||||
func (*DataColumnIdentifier) Descriptor() ([]byte, []int) {
|
|
||||||
return file_proto_prysm_v1alpha1_data_columns_proto_rawDescGZIP(), []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *DataColumnIdentifier) GetBlockRoot() []byte {
|
|
||||||
if x != nil {
|
|
||||||
return x.BlockRoot
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *DataColumnIdentifier) GetIndex() uint64 {
|
|
||||||
if x != nil {
|
|
||||||
return x.Index
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type DataColumnsByRootIdentifier struct {
|
type DataColumnsByRootIdentifier struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
@@ -176,7 +121,7 @@ type DataColumnsByRootIdentifier struct {
|
|||||||
func (x *DataColumnsByRootIdentifier) Reset() {
|
func (x *DataColumnsByRootIdentifier) Reset() {
|
||||||
*x = DataColumnsByRootIdentifier{}
|
*x = DataColumnsByRootIdentifier{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_proto_prysm_v1alpha1_data_columns_proto_msgTypes[2]
|
mi := &file_proto_prysm_v1alpha1_data_columns_proto_msgTypes[1]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -189,7 +134,7 @@ func (x *DataColumnsByRootIdentifier) String() string {
|
|||||||
func (*DataColumnsByRootIdentifier) ProtoMessage() {}
|
func (*DataColumnsByRootIdentifier) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *DataColumnsByRootIdentifier) ProtoReflect() protoreflect.Message {
|
func (x *DataColumnsByRootIdentifier) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_prysm_v1alpha1_data_columns_proto_msgTypes[2]
|
mi := &file_proto_prysm_v1alpha1_data_columns_proto_msgTypes[1]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -202,7 +147,7 @@ func (x *DataColumnsByRootIdentifier) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use DataColumnsByRootIdentifier.ProtoReflect.Descriptor instead.
|
// Deprecated: Use DataColumnsByRootIdentifier.ProtoReflect.Descriptor instead.
|
||||||
func (*DataColumnsByRootIdentifier) Descriptor() ([]byte, []int) {
|
func (*DataColumnsByRootIdentifier) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_prysm_v1alpha1_data_columns_proto_rawDescGZIP(), []int{2}
|
return file_proto_prysm_v1alpha1_data_columns_proto_rawDescGZIP(), []int{1}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *DataColumnsByRootIdentifier) GetBlockRoot() []byte {
|
func (x *DataColumnsByRootIdentifier) GetBlockRoot() []byte {
|
||||||
@@ -253,29 +198,24 @@ var file_proto_prysm_v1alpha1_data_columns_proto_rawDesc = []byte{
|
|||||||
0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x06, 0x20,
|
0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x06, 0x20,
|
||||||
0x03, 0x28, 0x0c, 0x42, 0x08, 0x8a, 0xb5, 0x18, 0x04, 0x34, 0x2c, 0x33, 0x32, 0x52, 0x1c, 0x6b,
|
0x03, 0x28, 0x0c, 0x42, 0x08, 0x8a, 0xb5, 0x18, 0x04, 0x34, 0x2c, 0x33, 0x32, 0x52, 0x1c, 0x6b,
|
||||||
0x7a, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x63,
|
0x7a, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x63,
|
||||||
0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x22, 0x53, 0x0a, 0x14, 0x44,
|
0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x22, 0x67, 0x0a, 0x1b, 0x44,
|
||||||
0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
|
0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x42, 0x79, 0x52, 0x6f, 0x6f, 0x74,
|
||||||
0x69, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f,
|
0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0a, 0x62, 0x6c,
|
||||||
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 0x52,
|
0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06,
|
||||||
0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e,
|
0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x6f, 0x6f,
|
||||||
0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78,
|
0x74, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03,
|
||||||
0x22, 0x67, 0x0a, 0x1b, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x42,
|
0x28, 0x04, 0x42, 0x07, 0x92, 0xb5, 0x18, 0x03, 0x31, 0x32, 0x38, 0x52, 0x07, 0x63, 0x6f, 0x6c,
|
||||||
0x79, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12,
|
0x75, 0x6d, 0x6e, 0x73, 0x42, 0x9a, 0x01, 0x0a, 0x19, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x74, 0x68,
|
||||||
0x25, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20,
|
0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
|
||||||
0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 0x52, 0x09, 0x62, 0x6c, 0x6f,
|
0x61, 0x31, 0x42, 0x10, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x50,
|
||||||
0x63, 0x6b, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
|
0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
|
||||||
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x42, 0x07, 0x92, 0xb5, 0x18, 0x03, 0x31, 0x32, 0x38,
|
0x6f, 0x6d, 0x2f, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x61, 0x62, 0x73, 0x2f,
|
||||||
0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x42, 0x9a, 0x01, 0x0a, 0x19, 0x6f, 0x72,
|
0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x36, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x70,
|
||||||
0x67, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76,
|
0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x65, 0x74,
|
||||||
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x10, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c,
|
0x68, 0xaa, 0x02, 0x15, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x45, 0x74, 0x68,
|
||||||
0x75, 0x6d, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74,
|
0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x15, 0x45, 0x74, 0x68, 0x65,
|
||||||
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e,
|
0x72, 0x65, 0x75, 0x6d, 0x5c, 0x45, 0x74, 0x68, 0x5c, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
|
||||||
0x4c, 0x61, 0x62, 0x73, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x36, 0x2f, 0x70, 0x72,
|
0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
0x6f, 0x74, 0x6f, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
|
|
||||||
0x61, 0x31, 0x3b, 0x65, 0x74, 0x68, 0xaa, 0x02, 0x15, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75,
|
|
||||||
0x6d, 0x2e, 0x45, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02,
|
|
||||||
0x15, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x5c, 0x45, 0x74, 0x68, 0x5c, 0x76, 0x31,
|
|
||||||
0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -290,15 +230,14 @@ func file_proto_prysm_v1alpha1_data_columns_proto_rawDescGZIP() []byte {
|
|||||||
return file_proto_prysm_v1alpha1_data_columns_proto_rawDescData
|
return file_proto_prysm_v1alpha1_data_columns_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_proto_prysm_v1alpha1_data_columns_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
|
var file_proto_prysm_v1alpha1_data_columns_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||||
var file_proto_prysm_v1alpha1_data_columns_proto_goTypes = []interface{}{
|
var file_proto_prysm_v1alpha1_data_columns_proto_goTypes = []interface{}{
|
||||||
(*DataColumnSidecar)(nil), // 0: ethereum.eth.v1alpha1.DataColumnSidecar
|
(*DataColumnSidecar)(nil), // 0: ethereum.eth.v1alpha1.DataColumnSidecar
|
||||||
(*DataColumnIdentifier)(nil), // 1: ethereum.eth.v1alpha1.DataColumnIdentifier
|
(*DataColumnsByRootIdentifier)(nil), // 1: ethereum.eth.v1alpha1.DataColumnsByRootIdentifier
|
||||||
(*DataColumnsByRootIdentifier)(nil), // 2: ethereum.eth.v1alpha1.DataColumnsByRootIdentifier
|
(*SignedBeaconBlockHeader)(nil), // 2: ethereum.eth.v1alpha1.SignedBeaconBlockHeader
|
||||||
(*SignedBeaconBlockHeader)(nil), // 3: ethereum.eth.v1alpha1.SignedBeaconBlockHeader
|
|
||||||
}
|
}
|
||||||
var file_proto_prysm_v1alpha1_data_columns_proto_depIdxs = []int32{
|
var file_proto_prysm_v1alpha1_data_columns_proto_depIdxs = []int32{
|
||||||
3, // 0: ethereum.eth.v1alpha1.DataColumnSidecar.signed_block_header:type_name -> ethereum.eth.v1alpha1.SignedBeaconBlockHeader
|
2, // 0: ethereum.eth.v1alpha1.DataColumnSidecar.signed_block_header:type_name -> ethereum.eth.v1alpha1.SignedBeaconBlockHeader
|
||||||
1, // [1:1] is the sub-list for method output_type
|
1, // [1:1] is the sub-list for method output_type
|
||||||
1, // [1:1] is the sub-list for method input_type
|
1, // [1:1] is the sub-list for method input_type
|
||||||
1, // [1:1] is the sub-list for extension type_name
|
1, // [1:1] is the sub-list for extension type_name
|
||||||
@@ -326,18 +265,6 @@ func file_proto_prysm_v1alpha1_data_columns_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_proto_prysm_v1alpha1_data_columns_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
file_proto_prysm_v1alpha1_data_columns_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*DataColumnIdentifier); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_proto_prysm_v1alpha1_data_columns_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*DataColumnsByRootIdentifier); i {
|
switch v := v.(*DataColumnsByRootIdentifier); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@@ -356,7 +283,7 @@ func file_proto_prysm_v1alpha1_data_columns_proto_init() {
|
|||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_proto_prysm_v1alpha1_data_columns_proto_rawDesc,
|
RawDescriptor: file_proto_prysm_v1alpha1_data_columns_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 3,
|
NumMessages: 2,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -45,11 +45,6 @@ message DataColumnSidecar {
|
|||||||
"kzg_commitments_inclusion_proof_depth.size,32" ];
|
"kzg_commitments_inclusion_proof_depth.size,32" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
message DataColumnIdentifier {
|
|
||||||
bytes block_root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
|
||||||
uint64 index = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message DataColumnsByRootIdentifier {
|
message DataColumnsByRootIdentifier {
|
||||||
bytes block_root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
bytes block_root = 1 [ (ethereum.eth.ext.ssz_size) = "32" ];
|
||||||
repeated uint64 columns = 2 [ (ethereum.eth.ext.ssz_max) = "128" ];
|
repeated uint64 columns = 2 [ (ethereum.eth.ext.ssz_max) = "128" ];
|
||||||
|
|||||||
@@ -2246,77 +2246,6 @@ func (d *DataColumnSidecar) HashTreeRootWith(hh *ssz.Hasher) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// MarshalSSZ ssz marshals the DataColumnIdentifier object
|
|
||||||
func (d *DataColumnIdentifier) MarshalSSZ() ([]byte, error) {
|
|
||||||
return ssz.MarshalSSZ(d)
|
|
||||||
}
|
|
||||||
|
|
||||||
// MarshalSSZTo ssz marshals the DataColumnIdentifier object to a target array
|
|
||||||
func (d *DataColumnIdentifier) MarshalSSZTo(buf []byte) (dst []byte, err error) {
|
|
||||||
dst = buf
|
|
||||||
|
|
||||||
// Field (0) 'BlockRoot'
|
|
||||||
if size := len(d.BlockRoot); size != 32 {
|
|
||||||
err = ssz.ErrBytesLengthFn("--.BlockRoot", size, 32)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
dst = append(dst, d.BlockRoot...)
|
|
||||||
|
|
||||||
// Field (1) 'Index'
|
|
||||||
dst = ssz.MarshalUint64(dst, d.Index)
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// UnmarshalSSZ ssz unmarshals the DataColumnIdentifier object
|
|
||||||
func (d *DataColumnIdentifier) UnmarshalSSZ(buf []byte) error {
|
|
||||||
var err error
|
|
||||||
size := uint64(len(buf))
|
|
||||||
if size != 40 {
|
|
||||||
return ssz.ErrSize
|
|
||||||
}
|
|
||||||
|
|
||||||
// Field (0) 'BlockRoot'
|
|
||||||
if cap(d.BlockRoot) == 0 {
|
|
||||||
d.BlockRoot = make([]byte, 0, len(buf[0:32]))
|
|
||||||
}
|
|
||||||
d.BlockRoot = append(d.BlockRoot, buf[0:32]...)
|
|
||||||
|
|
||||||
// Field (1) 'Index'
|
|
||||||
d.Index = ssz.UnmarshallUint64(buf[32:40])
|
|
||||||
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// SizeSSZ returns the ssz encoded size in bytes for the DataColumnIdentifier object
|
|
||||||
func (d *DataColumnIdentifier) SizeSSZ() (size int) {
|
|
||||||
size = 40
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// HashTreeRoot ssz hashes the DataColumnIdentifier object
|
|
||||||
func (d *DataColumnIdentifier) HashTreeRoot() ([32]byte, error) {
|
|
||||||
return ssz.HashWithDefaultHasher(d)
|
|
||||||
}
|
|
||||||
|
|
||||||
// HashTreeRootWith ssz hashes the DataColumnIdentifier object with a hasher
|
|
||||||
func (d *DataColumnIdentifier) HashTreeRootWith(hh *ssz.Hasher) (err error) {
|
|
||||||
indx := hh.Index()
|
|
||||||
|
|
||||||
// Field (0) 'BlockRoot'
|
|
||||||
if size := len(d.BlockRoot); size != 32 {
|
|
||||||
err = ssz.ErrBytesLengthFn("--.BlockRoot", size, 32)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
hh.PutBytes(d.BlockRoot)
|
|
||||||
|
|
||||||
// Field (1) 'Index'
|
|
||||||
hh.PutUint64(d.Index)
|
|
||||||
|
|
||||||
hh.Merkleize(indx)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// MarshalSSZ ssz marshals the DataColumnsByRootIdentifier object
|
// MarshalSSZ ssz marshals the DataColumnsByRootIdentifier object
|
||||||
func (d *DataColumnsByRootIdentifier) MarshalSSZ() ([]byte, error) {
|
func (d *DataColumnsByRootIdentifier) MarshalSSZ() ([]byte, error) {
|
||||||
return ssz.MarshalSSZ(d)
|
return ssz.MarshalSSZ(d)
|
||||||
@@ -2436,3 +2365,132 @@ func (d *DataColumnsByRootIdentifier) HashTreeRootWith(hh *ssz.Hasher) (err erro
|
|||||||
hh.Merkleize(indx)
|
hh.Merkleize(indx)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MarshalSSZ ssz marshals the StatusV2 object
|
||||||
|
func (s *StatusV2) MarshalSSZ() ([]byte, error) {
|
||||||
|
return ssz.MarshalSSZ(s)
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalSSZTo ssz marshals the StatusV2 object to a target array
|
||||||
|
func (s *StatusV2) MarshalSSZTo(buf []byte) (dst []byte, err error) {
|
||||||
|
dst = buf
|
||||||
|
|
||||||
|
// Field (0) 'ForkDigest'
|
||||||
|
if size := len(s.ForkDigest); size != 4 {
|
||||||
|
err = ssz.ErrBytesLengthFn("--.ForkDigest", size, 4)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
dst = append(dst, s.ForkDigest...)
|
||||||
|
|
||||||
|
// Field (1) 'FinalizedRoot'
|
||||||
|
if size := len(s.FinalizedRoot); size != 32 {
|
||||||
|
err = ssz.ErrBytesLengthFn("--.FinalizedRoot", size, 32)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
dst = append(dst, s.FinalizedRoot...)
|
||||||
|
|
||||||
|
// Field (2) 'FinalizedEpoch'
|
||||||
|
dst = ssz.MarshalUint64(dst, uint64(s.FinalizedEpoch))
|
||||||
|
|
||||||
|
// Field (3) 'HeadRoot'
|
||||||
|
if size := len(s.HeadRoot); size != 32 {
|
||||||
|
err = ssz.ErrBytesLengthFn("--.HeadRoot", size, 32)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
dst = append(dst, s.HeadRoot...)
|
||||||
|
|
||||||
|
// Field (4) 'HeadSlot'
|
||||||
|
dst = ssz.MarshalUint64(dst, uint64(s.HeadSlot))
|
||||||
|
|
||||||
|
// Field (5) 'EarliestAvailableSlot'
|
||||||
|
dst = ssz.MarshalUint64(dst, uint64(s.EarliestAvailableSlot))
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalSSZ ssz unmarshals the StatusV2 object
|
||||||
|
func (s *StatusV2) UnmarshalSSZ(buf []byte) error {
|
||||||
|
var err error
|
||||||
|
size := uint64(len(buf))
|
||||||
|
if size != 92 {
|
||||||
|
return ssz.ErrSize
|
||||||
|
}
|
||||||
|
|
||||||
|
// Field (0) 'ForkDigest'
|
||||||
|
if cap(s.ForkDigest) == 0 {
|
||||||
|
s.ForkDigest = make([]byte, 0, len(buf[0:4]))
|
||||||
|
}
|
||||||
|
s.ForkDigest = append(s.ForkDigest, buf[0:4]...)
|
||||||
|
|
||||||
|
// Field (1) 'FinalizedRoot'
|
||||||
|
if cap(s.FinalizedRoot) == 0 {
|
||||||
|
s.FinalizedRoot = make([]byte, 0, len(buf[4:36]))
|
||||||
|
}
|
||||||
|
s.FinalizedRoot = append(s.FinalizedRoot, buf[4:36]...)
|
||||||
|
|
||||||
|
// Field (2) 'FinalizedEpoch'
|
||||||
|
s.FinalizedEpoch = github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Epoch(ssz.UnmarshallUint64(buf[36:44]))
|
||||||
|
|
||||||
|
// Field (3) 'HeadRoot'
|
||||||
|
if cap(s.HeadRoot) == 0 {
|
||||||
|
s.HeadRoot = make([]byte, 0, len(buf[44:76]))
|
||||||
|
}
|
||||||
|
s.HeadRoot = append(s.HeadRoot, buf[44:76]...)
|
||||||
|
|
||||||
|
// Field (4) 'HeadSlot'
|
||||||
|
s.HeadSlot = github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Slot(ssz.UnmarshallUint64(buf[76:84]))
|
||||||
|
|
||||||
|
// Field (5) 'EarliestAvailableSlot'
|
||||||
|
s.EarliestAvailableSlot = github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Slot(ssz.UnmarshallUint64(buf[84:92]))
|
||||||
|
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// SizeSSZ returns the ssz encoded size in bytes for the StatusV2 object
|
||||||
|
func (s *StatusV2) SizeSSZ() (size int) {
|
||||||
|
size = 92
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// HashTreeRoot ssz hashes the StatusV2 object
|
||||||
|
func (s *StatusV2) HashTreeRoot() ([32]byte, error) {
|
||||||
|
return ssz.HashWithDefaultHasher(s)
|
||||||
|
}
|
||||||
|
|
||||||
|
// HashTreeRootWith ssz hashes the StatusV2 object with a hasher
|
||||||
|
func (s *StatusV2) HashTreeRootWith(hh *ssz.Hasher) (err error) {
|
||||||
|
indx := hh.Index()
|
||||||
|
|
||||||
|
// Field (0) 'ForkDigest'
|
||||||
|
if size := len(s.ForkDigest); size != 4 {
|
||||||
|
err = ssz.ErrBytesLengthFn("--.ForkDigest", size, 4)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
hh.PutBytes(s.ForkDigest)
|
||||||
|
|
||||||
|
// Field (1) 'FinalizedRoot'
|
||||||
|
if size := len(s.FinalizedRoot); size != 32 {
|
||||||
|
err = ssz.ErrBytesLengthFn("--.FinalizedRoot", size, 32)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
hh.PutBytes(s.FinalizedRoot)
|
||||||
|
|
||||||
|
// Field (2) 'FinalizedEpoch'
|
||||||
|
hh.PutUint64(uint64(s.FinalizedEpoch))
|
||||||
|
|
||||||
|
// Field (3) 'HeadRoot'
|
||||||
|
if size := len(s.HeadRoot); size != 32 {
|
||||||
|
err = ssz.ErrBytesLengthFn("--.HeadRoot", size, 32)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
hh.PutBytes(s.HeadRoot)
|
||||||
|
|
||||||
|
// Field (4) 'HeadSlot'
|
||||||
|
hh.PutUint64(uint64(s.HeadSlot))
|
||||||
|
|
||||||
|
// Field (5) 'EarliestAvailableSlot'
|
||||||
|
hh.PutUint64(uint64(s.EarliestAvailableSlot))
|
||||||
|
|
||||||
|
hh.Merkleize(indx)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|||||||
409
proto/prysm/v1alpha1/p2p_messages.pb.go
generated
409
proto/prysm/v1alpha1/p2p_messages.pb.go
generated
@@ -104,6 +104,93 @@ func (x *Status) GetHeadSlot() github_com_OffchainLabs_prysm_v6_consensus_types_
|
|||||||
return github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Slot(0)
|
return github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Slot(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type StatusV2 struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
ForkDigest []byte `protobuf:"bytes,1,opt,name=fork_digest,json=forkDigest,proto3" json:"fork_digest,omitempty" ssz-size:"4"`
|
||||||
|
FinalizedRoot []byte `protobuf:"bytes,2,opt,name=finalized_root,json=finalizedRoot,proto3" json:"finalized_root,omitempty" ssz-size:"32"`
|
||||||
|
FinalizedEpoch github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Epoch `protobuf:"varint,3,opt,name=finalized_epoch,json=finalizedEpoch,proto3" json:"finalized_epoch,omitempty" cast-type:"github.com/OffchainLabs/prysm/v6/consensus-types/primitives.Epoch"`
|
||||||
|
HeadRoot []byte `protobuf:"bytes,4,opt,name=head_root,json=headRoot,proto3" json:"head_root,omitempty" ssz-size:"32"`
|
||||||
|
HeadSlot github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Slot `protobuf:"varint,5,opt,name=head_slot,json=headSlot,proto3" json:"head_slot,omitempty" cast-type:"github.com/OffchainLabs/prysm/v6/consensus-types/primitives.Slot"`
|
||||||
|
EarliestAvailableSlot github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Slot `protobuf:"varint,6,opt,name=earliest_available_slot,json=earliestAvailableSlot,proto3" json:"earliest_available_slot,omitempty" cast-type:"github.com/OffchainLabs/prysm/v6/consensus-types/primitives.Slot"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *StatusV2) Reset() {
|
||||||
|
*x = StatusV2{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[1]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *StatusV2) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*StatusV2) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *StatusV2) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[1]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use StatusV2.ProtoReflect.Descriptor instead.
|
||||||
|
func (*StatusV2) Descriptor() ([]byte, []int) {
|
||||||
|
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{1}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *StatusV2) GetForkDigest() []byte {
|
||||||
|
if x != nil {
|
||||||
|
return x.ForkDigest
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *StatusV2) GetFinalizedRoot() []byte {
|
||||||
|
if x != nil {
|
||||||
|
return x.FinalizedRoot
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *StatusV2) GetFinalizedEpoch() github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Epoch {
|
||||||
|
if x != nil {
|
||||||
|
return x.FinalizedEpoch
|
||||||
|
}
|
||||||
|
return github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Epoch(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *StatusV2) GetHeadRoot() []byte {
|
||||||
|
if x != nil {
|
||||||
|
return x.HeadRoot
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *StatusV2) GetHeadSlot() github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Slot {
|
||||||
|
if x != nil {
|
||||||
|
return x.HeadSlot
|
||||||
|
}
|
||||||
|
return github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Slot(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *StatusV2) GetEarliestAvailableSlot() github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Slot {
|
||||||
|
if x != nil {
|
||||||
|
return x.EarliestAvailableSlot
|
||||||
|
}
|
||||||
|
return github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Slot(0)
|
||||||
|
}
|
||||||
|
|
||||||
type BeaconBlocksByRangeRequest struct {
|
type BeaconBlocksByRangeRequest struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
@@ -117,7 +204,7 @@ type BeaconBlocksByRangeRequest struct {
|
|||||||
func (x *BeaconBlocksByRangeRequest) Reset() {
|
func (x *BeaconBlocksByRangeRequest) Reset() {
|
||||||
*x = BeaconBlocksByRangeRequest{}
|
*x = BeaconBlocksByRangeRequest{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[1]
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[2]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -130,7 +217,7 @@ func (x *BeaconBlocksByRangeRequest) String() string {
|
|||||||
func (*BeaconBlocksByRangeRequest) ProtoMessage() {}
|
func (*BeaconBlocksByRangeRequest) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *BeaconBlocksByRangeRequest) ProtoReflect() protoreflect.Message {
|
func (x *BeaconBlocksByRangeRequest) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[1]
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[2]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -143,7 +230,7 @@ func (x *BeaconBlocksByRangeRequest) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use BeaconBlocksByRangeRequest.ProtoReflect.Descriptor instead.
|
// Deprecated: Use BeaconBlocksByRangeRequest.ProtoReflect.Descriptor instead.
|
||||||
func (*BeaconBlocksByRangeRequest) Descriptor() ([]byte, []int) {
|
func (*BeaconBlocksByRangeRequest) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{1}
|
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{2}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *BeaconBlocksByRangeRequest) GetStartSlot() github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Slot {
|
func (x *BeaconBlocksByRangeRequest) GetStartSlot() github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Slot {
|
||||||
@@ -180,7 +267,7 @@ type ENRForkID struct {
|
|||||||
func (x *ENRForkID) Reset() {
|
func (x *ENRForkID) Reset() {
|
||||||
*x = ENRForkID{}
|
*x = ENRForkID{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[2]
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[3]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -193,7 +280,7 @@ func (x *ENRForkID) String() string {
|
|||||||
func (*ENRForkID) ProtoMessage() {}
|
func (*ENRForkID) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ENRForkID) ProtoReflect() protoreflect.Message {
|
func (x *ENRForkID) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[2]
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[3]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -206,7 +293,7 @@ func (x *ENRForkID) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ENRForkID.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ENRForkID.ProtoReflect.Descriptor instead.
|
||||||
func (*ENRForkID) Descriptor() ([]byte, []int) {
|
func (*ENRForkID) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{2}
|
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{3}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ENRForkID) GetCurrentForkDigest() []byte {
|
func (x *ENRForkID) GetCurrentForkDigest() []byte {
|
||||||
@@ -242,7 +329,7 @@ type MetaDataV0 struct {
|
|||||||
func (x *MetaDataV0) Reset() {
|
func (x *MetaDataV0) Reset() {
|
||||||
*x = MetaDataV0{}
|
*x = MetaDataV0{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[3]
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[4]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -255,7 +342,7 @@ func (x *MetaDataV0) String() string {
|
|||||||
func (*MetaDataV0) ProtoMessage() {}
|
func (*MetaDataV0) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *MetaDataV0) ProtoReflect() protoreflect.Message {
|
func (x *MetaDataV0) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[3]
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[4]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -268,7 +355,7 @@ func (x *MetaDataV0) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use MetaDataV0.ProtoReflect.Descriptor instead.
|
// Deprecated: Use MetaDataV0.ProtoReflect.Descriptor instead.
|
||||||
func (*MetaDataV0) Descriptor() ([]byte, []int) {
|
func (*MetaDataV0) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{3}
|
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{4}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *MetaDataV0) GetSeqNumber() uint64 {
|
func (x *MetaDataV0) GetSeqNumber() uint64 {
|
||||||
@@ -298,7 +385,7 @@ type MetaDataV1 struct {
|
|||||||
func (x *MetaDataV1) Reset() {
|
func (x *MetaDataV1) Reset() {
|
||||||
*x = MetaDataV1{}
|
*x = MetaDataV1{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[4]
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[5]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -311,7 +398,7 @@ func (x *MetaDataV1) String() string {
|
|||||||
func (*MetaDataV1) ProtoMessage() {}
|
func (*MetaDataV1) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *MetaDataV1) ProtoReflect() protoreflect.Message {
|
func (x *MetaDataV1) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[4]
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[5]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -324,7 +411,7 @@ func (x *MetaDataV1) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use MetaDataV1.ProtoReflect.Descriptor instead.
|
// Deprecated: Use MetaDataV1.ProtoReflect.Descriptor instead.
|
||||||
func (*MetaDataV1) Descriptor() ([]byte, []int) {
|
func (*MetaDataV1) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{4}
|
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{5}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *MetaDataV1) GetSeqNumber() uint64 {
|
func (x *MetaDataV1) GetSeqNumber() uint64 {
|
||||||
@@ -362,7 +449,7 @@ type MetaDataV2 struct {
|
|||||||
func (x *MetaDataV2) Reset() {
|
func (x *MetaDataV2) Reset() {
|
||||||
*x = MetaDataV2{}
|
*x = MetaDataV2{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[5]
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[6]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -375,7 +462,7 @@ func (x *MetaDataV2) String() string {
|
|||||||
func (*MetaDataV2) ProtoMessage() {}
|
func (*MetaDataV2) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *MetaDataV2) ProtoReflect() protoreflect.Message {
|
func (x *MetaDataV2) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[5]
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[6]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -388,7 +475,7 @@ func (x *MetaDataV2) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use MetaDataV2.ProtoReflect.Descriptor instead.
|
// Deprecated: Use MetaDataV2.ProtoReflect.Descriptor instead.
|
||||||
func (*MetaDataV2) Descriptor() ([]byte, []int) {
|
func (*MetaDataV2) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{5}
|
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{6}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *MetaDataV2) GetSeqNumber() uint64 {
|
func (x *MetaDataV2) GetSeqNumber() uint64 {
|
||||||
@@ -431,7 +518,7 @@ type BlobSidecarsByRangeRequest struct {
|
|||||||
func (x *BlobSidecarsByRangeRequest) Reset() {
|
func (x *BlobSidecarsByRangeRequest) Reset() {
|
||||||
*x = BlobSidecarsByRangeRequest{}
|
*x = BlobSidecarsByRangeRequest{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[6]
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[7]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -444,7 +531,7 @@ func (x *BlobSidecarsByRangeRequest) String() string {
|
|||||||
func (*BlobSidecarsByRangeRequest) ProtoMessage() {}
|
func (*BlobSidecarsByRangeRequest) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *BlobSidecarsByRangeRequest) ProtoReflect() protoreflect.Message {
|
func (x *BlobSidecarsByRangeRequest) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[6]
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[7]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -457,7 +544,7 @@ func (x *BlobSidecarsByRangeRequest) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use BlobSidecarsByRangeRequest.ProtoReflect.Descriptor instead.
|
// Deprecated: Use BlobSidecarsByRangeRequest.ProtoReflect.Descriptor instead.
|
||||||
func (*BlobSidecarsByRangeRequest) Descriptor() ([]byte, []int) {
|
func (*BlobSidecarsByRangeRequest) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{6}
|
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{7}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *BlobSidecarsByRangeRequest) GetStartSlot() github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Slot {
|
func (x *BlobSidecarsByRangeRequest) GetStartSlot() github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Slot {
|
||||||
@@ -487,7 +574,7 @@ type DataColumnSidecarsByRangeRequest struct {
|
|||||||
func (x *DataColumnSidecarsByRangeRequest) Reset() {
|
func (x *DataColumnSidecarsByRangeRequest) Reset() {
|
||||||
*x = DataColumnSidecarsByRangeRequest{}
|
*x = DataColumnSidecarsByRangeRequest{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[7]
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[8]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -500,7 +587,7 @@ func (x *DataColumnSidecarsByRangeRequest) String() string {
|
|||||||
func (*DataColumnSidecarsByRangeRequest) ProtoMessage() {}
|
func (*DataColumnSidecarsByRangeRequest) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *DataColumnSidecarsByRangeRequest) ProtoReflect() protoreflect.Message {
|
func (x *DataColumnSidecarsByRangeRequest) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[7]
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[8]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -513,7 +600,7 @@ func (x *DataColumnSidecarsByRangeRequest) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use DataColumnSidecarsByRangeRequest.ProtoReflect.Descriptor instead.
|
// Deprecated: Use DataColumnSidecarsByRangeRequest.ProtoReflect.Descriptor instead.
|
||||||
func (*DataColumnSidecarsByRangeRequest) Descriptor() ([]byte, []int) {
|
func (*DataColumnSidecarsByRangeRequest) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{7}
|
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{8}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *DataColumnSidecarsByRangeRequest) GetStartSlot() github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Slot {
|
func (x *DataColumnSidecarsByRangeRequest) GetStartSlot() github_com_OffchainLabs_prysm_v6_consensus_types_primitives.Slot {
|
||||||
@@ -549,7 +636,7 @@ type LightClientUpdatesByRangeRequest struct {
|
|||||||
func (x *LightClientUpdatesByRangeRequest) Reset() {
|
func (x *LightClientUpdatesByRangeRequest) Reset() {
|
||||||
*x = LightClientUpdatesByRangeRequest{}
|
*x = LightClientUpdatesByRangeRequest{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[8]
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[9]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -562,7 +649,7 @@ func (x *LightClientUpdatesByRangeRequest) String() string {
|
|||||||
func (*LightClientUpdatesByRangeRequest) ProtoMessage() {}
|
func (*LightClientUpdatesByRangeRequest) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *LightClientUpdatesByRangeRequest) ProtoReflect() protoreflect.Message {
|
func (x *LightClientUpdatesByRangeRequest) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[8]
|
mi := &file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[9]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -575,7 +662,7 @@ func (x *LightClientUpdatesByRangeRequest) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use LightClientUpdatesByRangeRequest.ProtoReflect.Descriptor instead.
|
// Deprecated: Use LightClientUpdatesByRangeRequest.ProtoReflect.Descriptor instead.
|
||||||
func (*LightClientUpdatesByRangeRequest) Descriptor() ([]byte, []int) {
|
func (*LightClientUpdatesByRangeRequest) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{8}
|
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP(), []int{9}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *LightClientUpdatesByRangeRequest) GetStartPeriod() uint64 {
|
func (x *LightClientUpdatesByRangeRequest) GetStartPeriod() uint64 {
|
||||||
@@ -624,109 +711,138 @@ var file_proto_prysm_v1alpha1_p2p_messages_proto_rawDesc = []byte{
|
|||||||
0x69, 0x6e, 0x4c, 0x61, 0x62, 0x73, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x36, 0x2f,
|
0x69, 0x6e, 0x4c, 0x61, 0x62, 0x73, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x36, 0x2f,
|
||||||
0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f,
|
0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f,
|
||||||
0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52,
|
0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52,
|
||||||
0x08, 0x68, 0x65, 0x61, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x22, 0xab, 0x01, 0x0a, 0x1a, 0x42, 0x65,
|
0x08, 0x68, 0x65, 0x61, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x22, 0xd7, 0x03, 0x0a, 0x08, 0x53, 0x74,
|
||||||
0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x42, 0x79, 0x52, 0x61, 0x6e, 0x67,
|
0x61, 0x74, 0x75, 0x73, 0x56, 0x32, 0x12, 0x26, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x64,
|
||||||
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72,
|
0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x05, 0x8a, 0xb5, 0x18,
|
||||||
0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x44, 0x82, 0xb5,
|
0x01, 0x34, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x2d,
|
||||||
0x18, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x66, 0x66,
|
0x0a, 0x0e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x6f, 0x74,
|
||||||
0x63, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x61, 0x62, 0x73, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f,
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 0x52, 0x0d,
|
||||||
0x76, 0x36, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2d, 0x74, 0x79, 0x70,
|
0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x6e, 0x0a,
|
||||||
0x65, 0x73, 0x2f, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x73, 0x2e, 0x53, 0x6c,
|
0x0f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68,
|
||||||
0x6f, 0x74, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x14, 0x0a,
|
0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x45, 0x82, 0xb5, 0x18, 0x41, 0x67, 0x69, 0x74, 0x68,
|
||||||
0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f,
|
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4c,
|
||||||
0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28,
|
0x61, 0x62, 0x73, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x36, 0x2f, 0x63, 0x6f, 0x6e,
|
||||||
0x04, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x22, 0xe4, 0x01, 0x0a, 0x09, 0x45, 0x4e, 0x52, 0x46,
|
0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x69,
|
||||||
0x6f, 0x72, 0x6b, 0x49, 0x44, 0x12, 0x35, 0x0a, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
|
0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x0e, 0x66,
|
||||||
0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01,
|
0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x23, 0x0a,
|
||||||
0x28, 0x0c, 0x42, 0x05, 0x8a, 0xb5, 0x18, 0x01, 0x34, 0x52, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65,
|
0x09, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c,
|
||||||
0x6e, 0x74, 0x46, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x11,
|
0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 0x52, 0x08, 0x68, 0x65, 0x61, 0x64, 0x52, 0x6f,
|
||||||
0x6e, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
0x6f, 0x74, 0x12, 0x61, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18,
|
||||||
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x05, 0x8a, 0xb5, 0x18, 0x01, 0x34, 0x52, 0x0f,
|
0x05, 0x20, 0x01, 0x28, 0x04, 0x42, 0x44, 0x82, 0xb5, 0x18, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75,
|
||||||
0x6e, 0x65, 0x78, 0x74, 0x46, 0x6f, 0x72, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
|
0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x61,
|
||||||
0x6d, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x70, 0x6f,
|
0x62, 0x73, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x36, 0x2f, 0x63, 0x6f, 0x6e, 0x73,
|
||||||
0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x45, 0x82, 0xb5, 0x18, 0x41, 0x67, 0x69,
|
0x65, 0x6e, 0x73, 0x75, 0x73, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x69, 0x6d,
|
||||||
0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69,
|
0x69, 0x74, 0x69, 0x76, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x08, 0x68, 0x65, 0x61,
|
||||||
0x6e, 0x4c, 0x61, 0x62, 0x73, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x36, 0x2f, 0x63,
|
0x64, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x7c, 0x0a, 0x17, 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65, 0x73,
|
||||||
0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70,
|
0x74, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x6c, 0x6f, 0x74,
|
||||||
0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52,
|
0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x42, 0x44, 0x82, 0xb5, 0x18, 0x40, 0x67, 0x69, 0x74, 0x68,
|
||||||
0x0d, 0x6e, 0x65, 0x78, 0x74, 0x46, 0x6f, 0x72, 0x6b, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x22, 0x80,
|
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4c,
|
||||||
0x01, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x56, 0x30, 0x12, 0x1d, 0x0a,
|
0x61, 0x62, 0x73, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x36, 0x2f, 0x63, 0x6f, 0x6e,
|
||||||
0x0a, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x69,
|
||||||
0x04, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x07,
|
0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x15, 0x65, 0x61,
|
||||||
0x61, 0x74, 0x74, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x39, 0x82,
|
0x72, 0x6c, 0x69, 0x65, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x53,
|
||||||
0xb5, 0x18, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72,
|
0x6c, 0x6f, 0x74, 0x22, 0xab, 0x01, 0x0a, 0x1a, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c,
|
||||||
0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x67, 0x6f, 0x2d, 0x62,
|
0x6f, 0x63, 0x6b, 0x73, 0x42, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||||
0x69, 0x74, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x42, 0x69, 0x74, 0x76, 0x65, 0x63, 0x74, 0x6f,
|
0x73, 0x74, 0x12, 0x63, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74,
|
||||||
0x72, 0x36, 0x34, 0x8a, 0xb5, 0x18, 0x01, 0x38, 0x52, 0x07, 0x61, 0x74, 0x74, 0x6e, 0x65, 0x74,
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x44, 0x82, 0xb5, 0x18, 0x40, 0x67, 0x69, 0x74, 0x68,
|
||||||
0x73, 0x22, 0xd6, 0x01, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x56, 0x31,
|
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4c,
|
||||||
0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01,
|
0x61, 0x62, 0x73, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x36, 0x2f, 0x63, 0x6f, 0x6e,
|
||||||
0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12,
|
0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x69,
|
||||||
0x53, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
|
0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x09, 0x73, 0x74,
|
||||||
0x42, 0x39, 0x82, 0xb5, 0x18, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
|
0x61, 0x72, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||||
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a,
|
||||||
|
0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x74, 0x65,
|
||||||
|
0x70, 0x22, 0xe4, 0x01, 0x0a, 0x09, 0x45, 0x4e, 0x52, 0x46, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x12,
|
||||||
|
0x35, 0x0a, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f,
|
||||||
|
0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x05, 0x8a, 0xb5,
|
||||||
|
0x18, 0x01, 0x34, 0x52, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x46, 0x6f, 0x72, 0x6b,
|
||||||
|
0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x11, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x66,
|
||||||
|
0x6f, 0x72, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||||
|
0x0c, 0x42, 0x05, 0x8a, 0xb5, 0x18, 0x01, 0x34, 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x46, 0x6f,
|
||||||
|
0x72, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x6d, 0x0a, 0x0f, 0x6e, 0x65, 0x78,
|
||||||
|
0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01,
|
||||||
|
0x28, 0x04, 0x42, 0x45, 0x82, 0xb5, 0x18, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
|
||||||
|
0x6f, 0x6d, 0x2f, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x61, 0x62, 0x73, 0x2f,
|
||||||
|
0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x36, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73,
|
||||||
|
0x75, 0x73, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69,
|
||||||
|
0x76, 0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x46,
|
||||||
|
0x6f, 0x72, 0x6b, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x22, 0x80, 0x01, 0x0a, 0x0a, 0x4d, 0x65, 0x74,
|
||||||
|
0x61, 0x44, 0x61, 0x74, 0x61, 0x56, 0x30, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x71, 0x5f, 0x6e,
|
||||||
|
0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x65, 0x71,
|
||||||
|
0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x6e, 0x65, 0x74,
|
||||||
|
0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x39, 0x82, 0xb5, 0x18, 0x30, 0x67, 0x69, 0x74,
|
||||||
|
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69,
|
||||||
|
0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x67, 0x6f, 0x2d, 0x62, 0x69, 0x74, 0x66, 0x69, 0x65, 0x6c,
|
||||||
|
0x64, 0x2e, 0x42, 0x69, 0x74, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x36, 0x34, 0x8a, 0xb5, 0x18,
|
||||||
|
0x01, 0x38, 0x52, 0x07, 0x61, 0x74, 0x74, 0x6e, 0x65, 0x74, 0x73, 0x22, 0xd6, 0x01, 0x0a, 0x0a,
|
||||||
|
0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x56, 0x31, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65,
|
||||||
|
0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09,
|
||||||
|
0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x07, 0x61, 0x74, 0x74,
|
||||||
|
0x6e, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x39, 0x82, 0xb5, 0x18, 0x30,
|
||||||
|
0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d,
|
||||||
|
0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x67, 0x6f, 0x2d, 0x62, 0x69, 0x74, 0x66,
|
||||||
|
0x69, 0x65, 0x6c, 0x64, 0x2e, 0x42, 0x69, 0x74, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x36, 0x34,
|
||||||
|
0x8a, 0xb5, 0x18, 0x01, 0x38, 0x52, 0x07, 0x61, 0x74, 0x74, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x54,
|
||||||
|
0x0a, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
|
||||||
|
0x42, 0x38, 0x82, 0xb5, 0x18, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
|
||||||
0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x67,
|
0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x67,
|
||||||
0x6f, 0x2d, 0x62, 0x69, 0x74, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x42, 0x69, 0x74, 0x76, 0x65,
|
0x6f, 0x2d, 0x62, 0x69, 0x74, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x42, 0x69, 0x74, 0x76, 0x65,
|
||||||
0x63, 0x74, 0x6f, 0x72, 0x36, 0x34, 0x8a, 0xb5, 0x18, 0x01, 0x38, 0x52, 0x07, 0x61, 0x74, 0x74,
|
0x63, 0x74, 0x6f, 0x72, 0x34, 0x8a, 0xb5, 0x18, 0x01, 0x31, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x63,
|
||||||
0x6e, 0x65, 0x74, 0x73, 0x12, 0x54, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x6e, 0x65, 0x74, 0x73,
|
0x6e, 0x65, 0x74, 0x73, 0x22, 0x86, 0x02, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74,
|
||||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x38, 0x82, 0xb5, 0x18, 0x2f, 0x67, 0x69, 0x74, 0x68,
|
0x61, 0x56, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65,
|
||||||
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63,
|
0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x62,
|
||||||
0x6c, 0x61, 0x62, 0x73, 0x2f, 0x67, 0x6f, 0x2d, 0x62, 0x69, 0x74, 0x66, 0x69, 0x65, 0x6c, 0x64,
|
0x65, 0x72, 0x12, 0x53, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20,
|
||||||
0x2e, 0x42, 0x69, 0x74, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x34, 0x8a, 0xb5, 0x18, 0x01, 0x31,
|
0x01, 0x28, 0x0c, 0x42, 0x39, 0x82, 0xb5, 0x18, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
|
||||||
0x52, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x6e, 0x65, 0x74, 0x73, 0x22, 0x86, 0x02, 0x0a, 0x0a, 0x4d,
|
0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62,
|
||||||
0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x56, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x71,
|
0x73, 0x2f, 0x67, 0x6f, 0x2d, 0x62, 0x69, 0x74, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x42, 0x69,
|
||||||
0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73,
|
0x74, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x36, 0x34, 0x8a, 0xb5, 0x18, 0x01, 0x38, 0x52, 0x07,
|
||||||
0x65, 0x71, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x6e,
|
0x61, 0x74, 0x74, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x54, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x6e,
|
||||||
0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x39, 0x82, 0xb5, 0x18, 0x30, 0x67,
|
0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x38, 0x82, 0xb5, 0x18, 0x2f, 0x67,
|
||||||
0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61,
|
0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61,
|
||||||
0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x67, 0x6f, 0x2d, 0x62, 0x69, 0x74, 0x66, 0x69,
|
0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x67, 0x6f, 0x2d, 0x62, 0x69, 0x74, 0x66, 0x69,
|
||||||
0x65, 0x6c, 0x64, 0x2e, 0x42, 0x69, 0x74, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x36, 0x34, 0x8a,
|
0x65, 0x6c, 0x64, 0x2e, 0x42, 0x69, 0x74, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x34, 0x8a, 0xb5,
|
||||||
0xb5, 0x18, 0x01, 0x38, 0x52, 0x07, 0x61, 0x74, 0x74, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x54, 0x0a,
|
0x18, 0x01, 0x31, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x2e, 0x0a,
|
||||||
0x08, 0x73, 0x79, 0x6e, 0x63, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42,
|
0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x64, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63,
|
||||||
0x38, 0x82, 0xb5, 0x18, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
|
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x63, 0x75, 0x73, 0x74,
|
||||||
0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x67, 0x6f,
|
0x6f, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x97, 0x01,
|
||||||
0x2d, 0x62, 0x69, 0x74, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x42, 0x69, 0x74, 0x76, 0x65, 0x63,
|
0x0a, 0x1a, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x73, 0x42, 0x79,
|
||||||
0x74, 0x6f, 0x72, 0x34, 0x8a, 0xb5, 0x18, 0x01, 0x31, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x6e,
|
0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x0a,
|
||||||
0x65, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x64, 0x79, 0x5f, 0x67,
|
0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
|
||||||
0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04,
|
0x42, 0x44, 0x82, 0xb5, 0x18, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
|
||||||
0x52, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f,
|
0x2f, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x61, 0x62, 0x73, 0x2f, 0x70, 0x72,
|
||||||
0x75, 0x6e, 0x74, 0x22, 0x97, 0x01, 0x0a, 0x1a, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x69, 0x64, 0x65,
|
0x79, 0x73, 0x6d, 0x2f, 0x76, 0x36, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73,
|
||||||
0x63, 0x61, 0x72, 0x73, 0x42, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
|
0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65,
|
||||||
0x73, 0x74, 0x12, 0x63, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74,
|
0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6c, 0x6f,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x44, 0x82, 0xb5, 0x18, 0x40, 0x67, 0x69, 0x74, 0x68,
|
0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
|
||||||
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4c,
|
0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc0, 0x01, 0x0a, 0x20, 0x44, 0x61, 0x74, 0x61,
|
||||||
0x61, 0x62, 0x73, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x36, 0x2f, 0x63, 0x6f, 0x6e,
|
0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x73, 0x42, 0x79,
|
||||||
0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x69,
|
0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x0a,
|
||||||
0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x09, 0x73, 0x74,
|
0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
|
||||||
0x61, 0x72, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
0x42, 0x44, 0x82, 0xb5, 0x18, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
|
||||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc0, 0x01,
|
0x2f, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x61, 0x62, 0x73, 0x2f, 0x70, 0x72,
|
||||||
0x0a, 0x20, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x69, 0x64, 0x65,
|
0x79, 0x73, 0x6d, 0x2f, 0x76, 0x36, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73,
|
||||||
0x63, 0x61, 0x72, 0x73, 0x42, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
|
0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65,
|
||||||
0x73, 0x74, 0x12, 0x63, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74,
|
0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6c, 0x6f,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x44, 0x82, 0xb5, 0x18, 0x40, 0x67, 0x69, 0x74, 0x68,
|
0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
|
||||||
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4c,
|
0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d,
|
||||||
0x61, 0x62, 0x73, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x36, 0x2f, 0x63, 0x6f, 0x6e,
|
0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x42, 0x07, 0x92, 0xb5, 0x18, 0x03, 0x31, 0x32,
|
||||||
0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x69,
|
0x38, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x5b, 0x0a, 0x20, 0x4c, 0x69,
|
||||||
0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x09, 0x73, 0x74,
|
0x67, 0x68, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73,
|
||||||
0x61, 0x72, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
0x42, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21,
|
||||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a,
|
0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01,
|
||||||
0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x42, 0x07,
|
0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f,
|
||||||
0x92, 0xb5, 0x18, 0x03, 0x31, 0x32, 0x38, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73,
|
0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
|
||||||
0x22, 0x5b, 0x0a, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x55,
|
0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x9a, 0x01, 0x0a, 0x19, 0x6f, 0x72, 0x67, 0x2e,
|
||||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x42, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71,
|
0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61,
|
||||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x70, 0x65,
|
0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x10, 0x50, 0x32, 0x50, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
|
||||||
0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72,
|
0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75,
|
||||||
0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x61,
|
||||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x9a, 0x01,
|
0x62, 0x73, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x36, 0x2f, 0x70, 0x72, 0x6f, 0x74,
|
||||||
0x0a, 0x19, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65,
|
0x6f, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
|
||||||
0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x10, 0x50, 0x32, 0x50,
|
0x3b, 0x65, 0x74, 0x68, 0xaa, 0x02, 0x15, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e,
|
||||||
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
|
0x45, 0x74, 0x68, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x15, 0x45,
|
||||||
0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x66, 0x66, 0x63,
|
0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x5c, 0x45, 0x74, 0x68, 0x5c, 0x76, 0x31, 0x61, 0x6c,
|
||||||
0x68, 0x61, 0x69, 0x6e, 0x4c, 0x61, 0x62, 0x73, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76,
|
0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
0x36, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x31,
|
|
||||||
0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x65, 0x74, 0x68, 0xaa, 0x02, 0x15, 0x45, 0x74, 0x68,
|
|
||||||
0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x45, 0x74, 0x68, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68,
|
|
||||||
0x61, 0x31, 0xca, 0x02, 0x15, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x5c, 0x45, 0x74,
|
|
||||||
0x68, 0x5c, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
|
||||||
0x6f, 0x33,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -741,17 +857,18 @@ func file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescGZIP() []byte {
|
|||||||
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescData
|
return file_proto_prysm_v1alpha1_p2p_messages_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
|
var file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
|
||||||
var file_proto_prysm_v1alpha1_p2p_messages_proto_goTypes = []interface{}{
|
var file_proto_prysm_v1alpha1_p2p_messages_proto_goTypes = []interface{}{
|
||||||
(*Status)(nil), // 0: ethereum.eth.v1alpha1.Status
|
(*Status)(nil), // 0: ethereum.eth.v1alpha1.Status
|
||||||
(*BeaconBlocksByRangeRequest)(nil), // 1: ethereum.eth.v1alpha1.BeaconBlocksByRangeRequest
|
(*StatusV2)(nil), // 1: ethereum.eth.v1alpha1.StatusV2
|
||||||
(*ENRForkID)(nil), // 2: ethereum.eth.v1alpha1.ENRForkID
|
(*BeaconBlocksByRangeRequest)(nil), // 2: ethereum.eth.v1alpha1.BeaconBlocksByRangeRequest
|
||||||
(*MetaDataV0)(nil), // 3: ethereum.eth.v1alpha1.MetaDataV0
|
(*ENRForkID)(nil), // 3: ethereum.eth.v1alpha1.ENRForkID
|
||||||
(*MetaDataV1)(nil), // 4: ethereum.eth.v1alpha1.MetaDataV1
|
(*MetaDataV0)(nil), // 4: ethereum.eth.v1alpha1.MetaDataV0
|
||||||
(*MetaDataV2)(nil), // 5: ethereum.eth.v1alpha1.MetaDataV2
|
(*MetaDataV1)(nil), // 5: ethereum.eth.v1alpha1.MetaDataV1
|
||||||
(*BlobSidecarsByRangeRequest)(nil), // 6: ethereum.eth.v1alpha1.BlobSidecarsByRangeRequest
|
(*MetaDataV2)(nil), // 6: ethereum.eth.v1alpha1.MetaDataV2
|
||||||
(*DataColumnSidecarsByRangeRequest)(nil), // 7: ethereum.eth.v1alpha1.DataColumnSidecarsByRangeRequest
|
(*BlobSidecarsByRangeRequest)(nil), // 7: ethereum.eth.v1alpha1.BlobSidecarsByRangeRequest
|
||||||
(*LightClientUpdatesByRangeRequest)(nil), // 8: ethereum.eth.v1alpha1.LightClientUpdatesByRangeRequest
|
(*DataColumnSidecarsByRangeRequest)(nil), // 8: ethereum.eth.v1alpha1.DataColumnSidecarsByRangeRequest
|
||||||
|
(*LightClientUpdatesByRangeRequest)(nil), // 9: ethereum.eth.v1alpha1.LightClientUpdatesByRangeRequest
|
||||||
}
|
}
|
||||||
var file_proto_prysm_v1alpha1_p2p_messages_proto_depIdxs = []int32{
|
var file_proto_prysm_v1alpha1_p2p_messages_proto_depIdxs = []int32{
|
||||||
0, // [0:0] is the sub-list for method output_type
|
0, // [0:0] is the sub-list for method output_type
|
||||||
@@ -780,7 +897,7 @@ func file_proto_prysm_v1alpha1_p2p_messages_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*BeaconBlocksByRangeRequest); i {
|
switch v := v.(*StatusV2); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@@ -792,7 +909,7 @@ func file_proto_prysm_v1alpha1_p2p_messages_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*ENRForkID); i {
|
switch v := v.(*BeaconBlocksByRangeRequest); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@@ -804,7 +921,7 @@ func file_proto_prysm_v1alpha1_p2p_messages_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*MetaDataV0); i {
|
switch v := v.(*ENRForkID); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@@ -816,7 +933,7 @@ func file_proto_prysm_v1alpha1_p2p_messages_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*MetaDataV1); i {
|
switch v := v.(*MetaDataV0); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@@ -828,7 +945,7 @@ func file_proto_prysm_v1alpha1_p2p_messages_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*MetaDataV2); i {
|
switch v := v.(*MetaDataV1); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@@ -840,7 +957,7 @@ func file_proto_prysm_v1alpha1_p2p_messages_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*BlobSidecarsByRangeRequest); i {
|
switch v := v.(*MetaDataV2); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@@ -852,7 +969,7 @@ func file_proto_prysm_v1alpha1_p2p_messages_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*DataColumnSidecarsByRangeRequest); i {
|
switch v := v.(*BlobSidecarsByRangeRequest); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@@ -864,6 +981,18 @@ func file_proto_prysm_v1alpha1_p2p_messages_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*DataColumnSidecarsByRangeRequest); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_proto_prysm_v1alpha1_p2p_messages_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*LightClientUpdatesByRangeRequest); i {
|
switch v := v.(*LightClientUpdatesByRangeRequest); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@@ -882,7 +1011,7 @@ func file_proto_prysm_v1alpha1_p2p_messages_proto_init() {
|
|||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_proto_prysm_v1alpha1_p2p_messages_proto_rawDesc,
|
RawDescriptor: file_proto_prysm_v1alpha1_p2p_messages_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 9,
|
NumMessages: 10,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -26,6 +26,24 @@ message Status {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 {
|
message BeaconBlocksByRangeRequest {
|
||||||
uint64 start_slot = 1 [
|
uint64 start_slot = 1 [
|
||||||
(ethereum.eth.ext.cast_type) =
|
(ethereum.eth.ext.cast_type) =
|
||||||
|
|||||||
Reference in New Issue
Block a user