mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 15:37:56 -05:00
@@ -38,6 +38,7 @@ The format is based on Keep a Changelog, and this project adheres to Semantic Ve
|
|||||||
### Removed
|
### Removed
|
||||||
|
|
||||||
- Cleanup ProcessSlashings method to remove unnecessary argument.
|
- Cleanup ProcessSlashings method to remove unnecessary argument.
|
||||||
|
- Remove `/proto/eth/v2` directory. [PR](https://github.com/prysmaticlabs/prysm/pull/14765)
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
|
|||||||
@@ -240,7 +240,6 @@ go_test(
|
|||||||
"//encoding/ssz/equality:go_default_library",
|
"//encoding/ssz/equality:go_default_library",
|
||||||
"//network/forks:go_default_library",
|
"//network/forks:go_default_library",
|
||||||
"//proto/engine/v1:go_default_library",
|
"//proto/engine/v1:go_default_library",
|
||||||
"//proto/eth/v2:go_default_library",
|
|
||||||
"//proto/prysm/v1alpha1:go_default_library",
|
"//proto/prysm/v1alpha1:go_default_library",
|
||||||
"//proto/prysm/v1alpha1/attestation:go_default_library",
|
"//proto/prysm/v1alpha1/attestation:go_default_library",
|
||||||
"//proto/prysm/v1alpha1/metadata:go_default_library",
|
"//proto/prysm/v1alpha1/metadata:go_default_library",
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ import (
|
|||||||
leakybucket "github.com/prysmaticlabs/prysm/v5/container/leaky-bucket"
|
leakybucket "github.com/prysmaticlabs/prysm/v5/container/leaky-bucket"
|
||||||
"github.com/prysmaticlabs/prysm/v5/encoding/bytesutil"
|
"github.com/prysmaticlabs/prysm/v5/encoding/bytesutil"
|
||||||
enginev1 "github.com/prysmaticlabs/prysm/v5/proto/engine/v1"
|
enginev1 "github.com/prysmaticlabs/prysm/v5/proto/engine/v1"
|
||||||
eth "github.com/prysmaticlabs/prysm/v5/proto/eth/v2"
|
eth "github.com/prysmaticlabs/prysm/v5/proto/prysm/v1alpha1"
|
||||||
ethpb "github.com/prysmaticlabs/prysm/v5/proto/prysm/v1alpha1"
|
ethpb "github.com/prysmaticlabs/prysm/v5/proto/prysm/v1alpha1"
|
||||||
"github.com/prysmaticlabs/prysm/v5/testing/assert"
|
"github.com/prysmaticlabs/prysm/v5/testing/assert"
|
||||||
"github.com/prysmaticlabs/prysm/v5/testing/require"
|
"github.com/prysmaticlabs/prysm/v5/testing/require"
|
||||||
|
|||||||
@@ -1,102 +0,0 @@
|
|||||||
##############################################################################
|
|
||||||
# Common
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
load("@rules_proto//proto:defs.bzl", "proto_library")
|
|
||||||
|
|
||||||
# gazelle:ignore
|
|
||||||
proto_library(
|
|
||||||
name = "proto",
|
|
||||||
srcs = [
|
|
||||||
"ssz.proto",
|
|
||||||
"version.proto",
|
|
||||||
":ssz_proto_files",
|
|
||||||
],
|
|
||||||
visibility = ["//visibility:public"],
|
|
||||||
deps = [
|
|
||||||
"//proto/engine/v1:proto",
|
|
||||||
"//proto/eth/ext:proto",
|
|
||||||
"//proto/eth/v1:proto",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
# Go
|
|
||||||
##############################################################################
|
|
||||||
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
|
||||||
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
|
|
||||||
load("//proto:ssz_proto_library.bzl", "ssz_proto_files")
|
|
||||||
load("//tools:ssz.bzl", "SSZ_DEPS", "ssz_gen_marshal")
|
|
||||||
|
|
||||||
ssz_gen_marshal(
|
|
||||||
name = "ssz_generated_files",
|
|
||||||
go_proto = ":go_proto",
|
|
||||||
out = "grpc.ssz.go",
|
|
||||||
includes = [
|
|
||||||
"//consensus-types/primitives:go_default_library",
|
|
||||||
"//proto/engine/v1:go_default_library",
|
|
||||||
"//proto/eth/v1:go_default_library",
|
|
||||||
],
|
|
||||||
objs = [
|
|
||||||
"BlsToExecutionChange",
|
|
||||||
"SignedBeaconBlockAltair",
|
|
||||||
"SignedBeaconBlockBellatrix",
|
|
||||||
"SignedBlindedBeaconBlockBellatrix",
|
|
||||||
"SignedBeaconBlockCapella",
|
|
||||||
"SignedBlindedBeaconBlockCapella",
|
|
||||||
"SignedBeaconBlockDeneb",
|
|
||||||
"SignedBlindedBeaconBlockDeneb",
|
|
||||||
"BlsToExecutionChange",
|
|
||||||
"SignedBlsToExecutionChange",
|
|
||||||
"SignedBeaconBlockContentsDeneb",
|
|
||||||
"BeaconBlockContentsDeneb",
|
|
||||||
"SyncCommittee",
|
|
||||||
"BlobIdentifier",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
go_proto_library(
|
|
||||||
name = "go_proto",
|
|
||||||
compilers = [
|
|
||||||
"@com_github_prysmaticlabs_protoc_gen_go_cast//:go_cast_grpc",
|
|
||||||
],
|
|
||||||
importpath = "github.com/prysmaticlabs/prysm/v5/proto/eth/v2",
|
|
||||||
proto = ":proto",
|
|
||||||
visibility = ["//visibility:public"],
|
|
||||||
deps = [
|
|
||||||
"//consensus-types/primitives:go_default_library",
|
|
||||||
"//proto/engine/v1:go_default_library",
|
|
||||||
"//proto/eth/ext:go_default_library",
|
|
||||||
"//proto/eth/v1:go_default_library",
|
|
||||||
"@com_github_golang_protobuf//proto:go_default_library",
|
|
||||||
"@com_github_prysmaticlabs_go_bitfield//:go_default_library",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
go_library(
|
|
||||||
name = "go_default_library",
|
|
||||||
srcs = [
|
|
||||||
":ssz_generated_files",
|
|
||||||
"custom.go",
|
|
||||||
],
|
|
||||||
embed = [":go_proto"],
|
|
||||||
importpath = "github.com/prysmaticlabs/prysm/v5/proto/eth/v2",
|
|
||||||
visibility = ["//visibility:public"],
|
|
||||||
deps = SSZ_DEPS,
|
|
||||||
)
|
|
||||||
|
|
||||||
ssz_proto_files(
|
|
||||||
name = "ssz_proto_files",
|
|
||||||
srcs = [
|
|
||||||
"beacon_block.proto",
|
|
||||||
"beacon_lightclient.proto",
|
|
||||||
"sync_committee.proto",
|
|
||||||
"validator.proto",
|
|
||||||
"withdrawals.proto",
|
|
||||||
],
|
|
||||||
config = select({
|
|
||||||
"//conditions:default": "mainnet",
|
|
||||||
"//proto:ssz_mainnet": "mainnet",
|
|
||||||
"//proto:ssz_minimal": "minimal",
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
4192
proto/eth/v2/beacon_block.pb.go
generated
4192
proto/eth/v2/beacon_block.pb.go
generated
File diff suppressed because it is too large
Load Diff
@@ -1,545 +0,0 @@
|
|||||||
// Copyright 2021 Prysmatic Labs.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
package ethereum.eth.v2;
|
|
||||||
|
|
||||||
import "proto/eth/ext/options.proto";
|
|
||||||
import "proto/eth/v1/attestation.proto";
|
|
||||||
import "proto/eth/v1/beacon_block.proto";
|
|
||||||
import "proto/eth/v2/withdrawals.proto";
|
|
||||||
import "proto/engine/v1/execution_engine.proto";
|
|
||||||
|
|
||||||
option csharp_namespace = "Ethereum.Eth.V2";
|
|
||||||
option go_package = "github.com/prysmaticlabs/prysm/v5/proto/eth/v2;eth";
|
|
||||||
option java_multiple_files = true;
|
|
||||||
option java_outer_classname = "SyncCommitteeProto";
|
|
||||||
option java_package = "org.ethereum.eth.v2";
|
|
||||||
option php_namespace = "Ethereum\\Eth\\v2";
|
|
||||||
|
|
||||||
message BeaconBlockContainerV2 {
|
|
||||||
oneof block {
|
|
||||||
v1.BeaconBlock phase0_block = 1;
|
|
||||||
BeaconBlockAltair altair_block = 2;
|
|
||||||
BeaconBlockBellatrix bellatrix_block = 3;
|
|
||||||
BeaconBlockCapella capella_block = 4;
|
|
||||||
BeaconBlockContentsDeneb deneb_contents = 5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
message SignedBeaconBlockContainer {
|
|
||||||
oneof message {
|
|
||||||
v1.BeaconBlock phase0_block = 1;
|
|
||||||
BeaconBlockAltair altair_block = 2;
|
|
||||||
BeaconBlockBellatrix bellatrix_block = 3;
|
|
||||||
BeaconBlockCapella capella_block = 4;
|
|
||||||
BeaconBlockDeneb deneb_block = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 96 byte BLS signature from the validator that produced this block.
|
|
||||||
bytes signature = 6 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message SignedBeaconBlockContentsContainer {
|
|
||||||
oneof message {
|
|
||||||
v1.SignedBeaconBlock phase0_block = 1;
|
|
||||||
SignedBeaconBlockAltair altair_block = 2;
|
|
||||||
SignedBeaconBlockBellatrix bellatrix_block = 3;
|
|
||||||
SignedBeaconBlockCapella capella_block = 4;
|
|
||||||
SignedBeaconBlockContentsDeneb deneb_contents = 5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// used in produce block
|
|
||||||
message BlindedBeaconBlockContainer {
|
|
||||||
oneof block {
|
|
||||||
v1.BeaconBlock phase0_block = 1;
|
|
||||||
BeaconBlockAltair altair_block = 2;
|
|
||||||
BlindedBeaconBlockBellatrix bellatrix_block = 3;
|
|
||||||
BlindedBeaconBlockCapella capella_block = 4;
|
|
||||||
BlindedBeaconBlockDeneb deneb_block = 5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// used in get block
|
|
||||||
message SignedBlindedBeaconBlockContainer {
|
|
||||||
oneof message {
|
|
||||||
v1.BeaconBlock phase0_block = 1;
|
|
||||||
BeaconBlockAltair altair_block = 2;
|
|
||||||
BlindedBeaconBlockBellatrix bellatrix_block = 3;
|
|
||||||
BlindedBeaconBlockCapella capella_block = 4;
|
|
||||||
BlindedBeaconBlockDeneb deneb_block = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 96 byte BLS signature from the validator that produced this block.
|
|
||||||
bytes signature = 6 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message SignedBlindedBeaconBlockContentsContainer {
|
|
||||||
oneof message {
|
|
||||||
v1.SignedBeaconBlock phase0_block = 1;
|
|
||||||
SignedBeaconBlockAltair altair_block = 2;
|
|
||||||
SignedBlindedBeaconBlockBellatrix bellatrix_block = 3;
|
|
||||||
SignedBlindedBeaconBlockCapella capella_block = 4;
|
|
||||||
SignedBlindedBeaconBlockDeneb deneb_block = 5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
message SignedBeaconBlockAltair {
|
|
||||||
BeaconBlockAltair message = 1;
|
|
||||||
|
|
||||||
// 96 byte BLS signature from the validator that produced this block.
|
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message SignedBeaconBlockBellatrix {
|
|
||||||
BeaconBlockBellatrix message = 1;
|
|
||||||
|
|
||||||
// 96 byte BLS signature from the validator that produced this block.
|
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message SignedBeaconBlockCapella {
|
|
||||||
BeaconBlockCapella message = 1;
|
|
||||||
|
|
||||||
// 96 byte BLS signature from the validator that produced this block.
|
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message SignedBeaconBlockDeneb {
|
|
||||||
BeaconBlockDeneb message = 1;
|
|
||||||
|
|
||||||
// 96 byte BLS signature from the validator that produced this block.
|
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message SignedBlindedBeaconBlockBellatrix {
|
|
||||||
BlindedBeaconBlockBellatrix message = 1;
|
|
||||||
|
|
||||||
// 96 byte BLS signature from the validator that produced this block.
|
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message SignedBlindedBeaconBlockCapella {
|
|
||||||
BlindedBeaconBlockCapella message = 1;
|
|
||||||
|
|
||||||
// 96 byte BLS signature from the validator that produced this block.
|
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message SignedBlindedBeaconBlockDeneb {
|
|
||||||
BlindedBeaconBlockDeneb message = 1;
|
|
||||||
|
|
||||||
// 96 byte BLS signature from the validator that produced this block.
|
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
}
|
|
||||||
|
|
||||||
// The Ethereum consensus beacon block. The message does not contain a validator signature.
|
|
||||||
message BeaconBlockAltair {
|
|
||||||
// Beacon chain slot that this block represents.
|
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
|
||||||
|
|
||||||
// Validator index of the validator that proposed the block header.
|
|
||||||
uint64 proposer_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
|
||||||
|
|
||||||
// 32 byte root of the parent block.
|
|
||||||
bytes parent_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// 32 byte root of the resulting state after processing this block.
|
|
||||||
bytes state_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// The block body itself.
|
|
||||||
BeaconBlockBodyAltair body = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
// The Ethereum consensus beacon block. The message does not contain a validator signature.
|
|
||||||
message BeaconBlockBellatrix {
|
|
||||||
// Beacon chain slot that this block represents.
|
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
|
||||||
|
|
||||||
// Validator index of the validator that proposed the block header.
|
|
||||||
uint64 proposer_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
|
||||||
|
|
||||||
// 32 byte root of the parent block.
|
|
||||||
bytes parent_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// 32 byte root of the resulting state after processing this block.
|
|
||||||
bytes state_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// The block body itself.
|
|
||||||
BeaconBlockBodyBellatrix body = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
// The Ethereum consensus beacon block. The message does not contain a validator signature.
|
|
||||||
message BlindedBeaconBlockBellatrix {
|
|
||||||
// Beacon chain slot that this block represents.
|
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
|
||||||
|
|
||||||
// Validator index of the validator that proposed the block header.
|
|
||||||
uint64 proposer_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
|
||||||
|
|
||||||
// 32 byte root of the parent block.
|
|
||||||
bytes parent_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// 32 byte root of the resulting state after processing this block.
|
|
||||||
bytes state_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// The block body itself.
|
|
||||||
BlindedBeaconBlockBodyBellatrix body = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
// The Ethereum consensus beacon block. The message does not contain a validator signature.
|
|
||||||
message BeaconBlockCapella {
|
|
||||||
// Beacon chain slot that this block represents.
|
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
|
||||||
|
|
||||||
// Validator index of the validator that proposed the block header.
|
|
||||||
uint64 proposer_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
|
||||||
|
|
||||||
// 32 byte root of the parent block.
|
|
||||||
bytes parent_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// 32 byte root of the resulting state after processing this block.
|
|
||||||
bytes state_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// The block body itself.
|
|
||||||
BeaconBlockBodyCapella body = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
// The Ethereum consensus beacon block. The message does not contain a validator signature.
|
|
||||||
message BlindedBeaconBlockCapella {
|
|
||||||
// Beacon chain slot that this block represents.
|
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
|
||||||
|
|
||||||
// Validator index of the validator that proposed the block header.
|
|
||||||
uint64 proposer_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
|
||||||
|
|
||||||
// 32 byte root of the parent block.
|
|
||||||
bytes parent_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// 32 byte root of the resulting state after processing this block.
|
|
||||||
bytes state_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// The block body itself.
|
|
||||||
BlindedBeaconBlockBodyCapella body = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
// The Ethereum consensus beacon block. The message does not contain a validator signature.
|
|
||||||
message BeaconBlockDeneb {
|
|
||||||
// Beacon chain slot that this block represents.
|
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
|
||||||
|
|
||||||
// Validator index of the validator that proposed the block header.
|
|
||||||
uint64 proposer_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
|
||||||
|
|
||||||
// 32 byte root of the parent block.
|
|
||||||
bytes parent_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// 32 byte root of the resulting state after processing this block.
|
|
||||||
bytes state_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// The beacon block body.
|
|
||||||
BeaconBlockBodyDeneb body = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
// The Ethereum consensus beacon block. The message does not contain a validator signature.
|
|
||||||
message BlindedBeaconBlockDeneb {
|
|
||||||
// Beacon chain slot that this block represents.
|
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
|
||||||
|
|
||||||
// Validator index of the validator that proposed the block header.
|
|
||||||
uint64 proposer_index = 2 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
|
||||||
// 32 byte root of the parent block.
|
|
||||||
bytes parent_root = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
// 32 byte root of the resulting state after processing this block.
|
|
||||||
bytes state_root = 4 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// The block body itself.
|
|
||||||
BlindedBeaconBlockBodyDeneb body = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
message BeaconBlockBodyAltair {
|
|
||||||
// The validators RANDAO reveal 96 byte value.
|
|
||||||
bytes randao_reveal = 1 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
|
|
||||||
// A reference to the Ethereum 1.x chain.
|
|
||||||
v1.Eth1Data eth1_data = 2;
|
|
||||||
|
|
||||||
// 32 byte field of arbitrary data. This field may contain any data and
|
|
||||||
// is not used for anything other than a fun message.
|
|
||||||
bytes graffiti = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// Block operations
|
|
||||||
// Refer to spec constants at https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#max-operations-per-block
|
|
||||||
|
|
||||||
// At most MAX_PROPOSER_SLASHINGS.
|
|
||||||
repeated v1.ProposerSlashing proposer_slashings = 4 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// At most MAX_ATTESTER_SLASHINGS.
|
|
||||||
repeated v1.AttesterSlashing attester_slashings = 5 [(ethereum.eth.ext.ssz_max) = "2"];
|
|
||||||
|
|
||||||
// At most MAX_ATTESTATIONS.
|
|
||||||
repeated v1.Attestation attestations = 6 [(ethereum.eth.ext.ssz_max) = "128"];
|
|
||||||
|
|
||||||
// At most MAX_DEPOSITS.
|
|
||||||
repeated v1.Deposit deposits = 7 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// At most MAX_VOLUNTARY_EXITS.
|
|
||||||
repeated v1.SignedVoluntaryExit voluntary_exits = 8 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// Sync aggregate object to track sync committee votes for light client support. [New in ]
|
|
||||||
v1.SyncAggregate sync_aggregate = 9;
|
|
||||||
}
|
|
||||||
|
|
||||||
message BeaconBlockBodyBellatrix {
|
|
||||||
// The validators RANDAO reveal 96 byte value.
|
|
||||||
bytes randao_reveal = 1 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
|
|
||||||
// A reference to the Ethereum 1.x chain.
|
|
||||||
v1.Eth1Data eth1_data = 2;
|
|
||||||
|
|
||||||
// 32 byte field of arbitrary data. This field may contain any data and
|
|
||||||
// is not used for anything other than a fun message.
|
|
||||||
bytes graffiti = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// Block operations
|
|
||||||
// Refer to spec constants at https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#max-operations-per-block
|
|
||||||
|
|
||||||
// At most MAX_PROPOSER_SLASHINGS.
|
|
||||||
repeated v1.ProposerSlashing proposer_slashings = 4 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// At most MAX_ATTESTER_SLASHINGS.
|
|
||||||
repeated v1.AttesterSlashing attester_slashings = 5 [(ethereum.eth.ext.ssz_max) = "2"];
|
|
||||||
|
|
||||||
// At most MAX_ATTESTATIONS.
|
|
||||||
repeated v1.Attestation attestations = 6 [(ethereum.eth.ext.ssz_max) = "128"];
|
|
||||||
|
|
||||||
// At most MAX_DEPOSITS.
|
|
||||||
repeated v1.Deposit deposits = 7 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// At most MAX_VOLUNTARY_EXITS.
|
|
||||||
repeated v1.SignedVoluntaryExit voluntary_exits = 8 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// Sync aggregate object to track sync committee votes for light client support.
|
|
||||||
v1.SyncAggregate sync_aggregate = 9;
|
|
||||||
|
|
||||||
// Execution payload: the embedded execution payload of the block [New in Bellatrix]
|
|
||||||
ethereum.engine.v1.ExecutionPayload execution_payload = 10;
|
|
||||||
}
|
|
||||||
|
|
||||||
message BlindedBeaconBlockBodyBellatrix {
|
|
||||||
// The validators RANDAO reveal 96 byte value.
|
|
||||||
bytes randao_reveal = 1 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
|
|
||||||
// A reference to the Ethereum 1.x chain.
|
|
||||||
v1.Eth1Data eth1_data = 2;
|
|
||||||
|
|
||||||
// 32 byte field of arbitrary data. This field may contain any data and
|
|
||||||
// is not used for anything other than a fun message.
|
|
||||||
bytes graffiti = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// Block operations
|
|
||||||
// Refer to spec constants at https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#max-operations-per-block
|
|
||||||
|
|
||||||
// At most MAX_PROPOSER_SLASHINGS.
|
|
||||||
repeated v1.ProposerSlashing proposer_slashings = 4 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// At most MAX_ATTESTER_SLASHINGS.
|
|
||||||
repeated v1.AttesterSlashing attester_slashings = 5 [(ethereum.eth.ext.ssz_max) = "2"];
|
|
||||||
|
|
||||||
// At most MAX_ATTESTATIONS.
|
|
||||||
repeated v1.Attestation attestations = 6 [(ethereum.eth.ext.ssz_max) = "128"];
|
|
||||||
|
|
||||||
// At most MAX_DEPOSITS.
|
|
||||||
repeated v1.Deposit deposits = 7 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// At most MAX_VOLUNTARY_EXITS.
|
|
||||||
repeated v1.SignedVoluntaryExit voluntary_exits = 8 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// Sync aggregate object to track sync committee votes for light client support.
|
|
||||||
v1.SyncAggregate sync_aggregate = 9;
|
|
||||||
|
|
||||||
// Execution payload header: the embedded execution payload of the block [New in Bellatrix]
|
|
||||||
ethereum.engine.v1.ExecutionPayloadHeader execution_payload_header = 10;
|
|
||||||
}
|
|
||||||
|
|
||||||
message BeaconBlockBodyCapella {
|
|
||||||
// The validators RANDAO reveal 96 byte value.
|
|
||||||
bytes randao_reveal = 1 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
|
|
||||||
// A reference to the Ethereum 1.x chain.
|
|
||||||
v1.Eth1Data eth1_data = 2;
|
|
||||||
|
|
||||||
// 32 byte field of arbitrary data. This field may contain any data and
|
|
||||||
// is not used for anything other than a fun message.
|
|
||||||
bytes graffiti = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// Block operations
|
|
||||||
// Refer to spec constants at https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#max-operations-per-block
|
|
||||||
|
|
||||||
// At most MAX_PROPOSER_SLASHINGS.
|
|
||||||
repeated v1.ProposerSlashing proposer_slashings = 4 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// At most MAX_ATTESTER_SLASHINGS.
|
|
||||||
repeated v1.AttesterSlashing attester_slashings = 5 [(ethereum.eth.ext.ssz_max) = "2"];
|
|
||||||
|
|
||||||
// At most MAX_ATTESTATIONS.
|
|
||||||
repeated v1.Attestation attestations = 6 [(ethereum.eth.ext.ssz_max) = "128"];
|
|
||||||
|
|
||||||
// At most MAX_DEPOSITS.
|
|
||||||
repeated v1.Deposit deposits = 7 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// At most MAX_VOLUNTARY_EXITS.
|
|
||||||
repeated v1.SignedVoluntaryExit voluntary_exits = 8 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// Sync aggregate object to track sync committee votes for light client support.
|
|
||||||
v1.SyncAggregate sync_aggregate = 9;
|
|
||||||
|
|
||||||
// Execution payload: the embedded execution payload of the block [Modified in Capella]
|
|
||||||
ethereum.engine.v1.ExecutionPayloadCapella execution_payload = 10;
|
|
||||||
|
|
||||||
// BLS To Execution Changes: signed messages to change withdrawal credentials [New in Capella]
|
|
||||||
repeated SignedBLSToExecutionChange bls_to_execution_changes = 11 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message BlindedBeaconBlockBodyCapella {
|
|
||||||
// The validators RANDAO reveal 96 byte value.
|
|
||||||
bytes randao_reveal = 1 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
|
|
||||||
// A reference to the Ethereum 1.x chain.
|
|
||||||
v1.Eth1Data eth1_data = 2;
|
|
||||||
|
|
||||||
// 32 byte field of arbitrary data. This field may contain any data and
|
|
||||||
// is not used for anything other than a fun message.
|
|
||||||
bytes graffiti = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// Block operations
|
|
||||||
// Refer to spec constants at https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#max-operations-per-block
|
|
||||||
|
|
||||||
// At most MAX_PROPOSER_SLASHINGS.
|
|
||||||
repeated v1.ProposerSlashing proposer_slashings = 4 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// At most MAX_ATTESTER_SLASHINGS.
|
|
||||||
repeated v1.AttesterSlashing attester_slashings = 5 [(ethereum.eth.ext.ssz_max) = "2"];
|
|
||||||
|
|
||||||
// At most MAX_ATTESTATIONS.
|
|
||||||
repeated v1.Attestation attestations = 6 [(ethereum.eth.ext.ssz_max) = "128"];
|
|
||||||
|
|
||||||
// At most MAX_DEPOSITS.
|
|
||||||
repeated v1.Deposit deposits = 7 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// At most MAX_VOLUNTARY_EXITS.
|
|
||||||
repeated v1.SignedVoluntaryExit voluntary_exits = 8 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// Sync aggregate object to track sync committee votes for light client support.
|
|
||||||
v1.SyncAggregate sync_aggregate = 9;
|
|
||||||
|
|
||||||
// Execution payload header: the embedded execution payload of the block [Modified in Capella]
|
|
||||||
ethereum.engine.v1.ExecutionPayloadHeaderCapella execution_payload_header = 10;
|
|
||||||
|
|
||||||
// BLS To Execution Changes: signed messages to change withdrawal credentials [New in Capella]
|
|
||||||
repeated SignedBLSToExecutionChange bls_to_execution_changes = 11 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message BlindedBeaconBlockBodyDeneb {
|
|
||||||
// The validators RANDAO reveal 96 byte value.
|
|
||||||
bytes randao_reveal = 1 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
|
|
||||||
// A reference to the Ethereum 1.x chain.
|
|
||||||
v1.Eth1Data eth1_data = 2;
|
|
||||||
// 32 byte field of arbitrary data. This field may contain any data and
|
|
||||||
// is not used for anything other than a fun message.
|
|
||||||
bytes graffiti = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
// Block operations
|
|
||||||
// Refer to spec constants at https://github.com/ethereum/consensus-specs/blob/dev/specs/core/0_beacon-chain.md#max-operations-per-block
|
|
||||||
// At most MAX_PROPOSER_SLASHINGS.
|
|
||||||
repeated v1.ProposerSlashing proposer_slashings = 4 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
// At most MAX_ATTESTER_SLASHINGS.
|
|
||||||
repeated v1.AttesterSlashing attester_slashings = 5 [(ethereum.eth.ext.ssz_max) = "2"];
|
|
||||||
// At most MAX_ATTESTATIONS.
|
|
||||||
repeated v1.Attestation attestations = 6 [(ethereum.eth.ext.ssz_max) = "128"];
|
|
||||||
// At most MAX_DEPOSITS.
|
|
||||||
repeated v1.Deposit deposits = 7 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
// At most MAX_VOLUNTARY_EXITS.
|
|
||||||
repeated v1.SignedVoluntaryExit voluntary_exits = 8 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
// Sync aggregate object to track sync committee votes for light client support.
|
|
||||||
v1.SyncAggregate sync_aggregate = 9;
|
|
||||||
|
|
||||||
// Execution payload header: the embedded execution payload of the block [Modified in Deneb]
|
|
||||||
ethereum.engine.v1.ExecutionPayloadHeaderDeneb execution_payload_header = 10;
|
|
||||||
|
|
||||||
// BLS To Execution Changes: signed messages to change withdrawal credentials [New in Capella]
|
|
||||||
repeated SignedBLSToExecutionChange bls_to_execution_changes = 11 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
repeated bytes blob_kzg_commitments = 12 [(ethereum.eth.ext.ssz_size) = "?,48", (ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message BeaconBlockBodyDeneb {
|
|
||||||
// The validators RANDAO reveal 96 byte value.
|
|
||||||
bytes randao_reveal = 1 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
|
|
||||||
// A reference to the Ethereum 1.x chain.
|
|
||||||
v1.Eth1Data eth1_data = 2;
|
|
||||||
|
|
||||||
// 32 byte field of arbitrary data. This field may contain any data and
|
|
||||||
// is not used for anything other than a fun message.
|
|
||||||
bytes graffiti = 3 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// Block operations
|
|
||||||
// Refer to spec constants at https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#max-operations-per-block
|
|
||||||
|
|
||||||
// At most MAX_PROPOSER_SLASHINGS.
|
|
||||||
repeated v1.ProposerSlashing proposer_slashings = 4 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// At most MAX_ATTESTER_SLASHINGS.
|
|
||||||
repeated v1.AttesterSlashing attester_slashings = 5 [(ethereum.eth.ext.ssz_max) = "2"];
|
|
||||||
|
|
||||||
// At most MAX_ATTESTATIONS.
|
|
||||||
repeated v1.Attestation attestations = 6 [(ethereum.eth.ext.ssz_max) = "128"];
|
|
||||||
|
|
||||||
// At most MAX_DEPOSITS.
|
|
||||||
repeated v1.Deposit deposits = 7 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// At most MAX_VOLUNTARY_EXITS.
|
|
||||||
repeated v1.SignedVoluntaryExit voluntary_exits = 8 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// Sync aggregate object for the beacon chain to track sync committee votes. New in Altair network upgrade.
|
|
||||||
v1.SyncAggregate sync_aggregate = 9;
|
|
||||||
|
|
||||||
// Execution payload from the execution chain. New in Bellatrix network upgrade.
|
|
||||||
ethereum.engine.v1.ExecutionPayloadDeneb execution_payload = 10;
|
|
||||||
|
|
||||||
// At most MAX_BLS_TO_EXECUTION_CHANGES. New in Capella network upgrade.
|
|
||||||
repeated SignedBLSToExecutionChange bls_to_execution_changes = 11 [(ethereum.eth.ext.ssz_max) = "16"];
|
|
||||||
|
|
||||||
// At most MAX_BLOB_COMMITMENTS_PER_BLOCK. New in Deneb network upgrade.
|
|
||||||
repeated bytes blob_kzg_commitments = 12 [(ethereum.eth.ext.ssz_size) = "?,48", (ethereum.eth.ext.ssz_max) = "max_blob_commitments.size"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message SignedBeaconBlockContentsDeneb {
|
|
||||||
SignedBeaconBlockDeneb signed_block = 1;
|
|
||||||
repeated bytes kzg_proofs = 2 [(ethereum.eth.ext.ssz_size) = "?,48", (ethereum.eth.ext.ssz_max) = "4096"];
|
|
||||||
repeated bytes blobs = 3 [(ethereum.eth.ext.ssz_size) = "?,blob.size", (ethereum.eth.ext.ssz_max) = "4096"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message BeaconBlockContentsDeneb {
|
|
||||||
BeaconBlockDeneb block = 1;
|
|
||||||
repeated bytes kzg_proofs = 2 [(ethereum.eth.ext.ssz_size) = "?,48", (ethereum.eth.ext.ssz_max) = "4096"];
|
|
||||||
repeated bytes blobs = 3 [(ethereum.eth.ext.ssz_size) = "?,blob.size", (ethereum.eth.ext.ssz_max) = "4096"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message BlobIdentifier {
|
|
||||||
bytes block_root = 1 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
uint64 index = 2;
|
|
||||||
}
|
|
||||||
1191
proto/eth/v2/beacon_lightclient.pb.go
generated
1191
proto/eth/v2/beacon_lightclient.pb.go
generated
File diff suppressed because it is too large
Load Diff
@@ -1,101 +0,0 @@
|
|||||||
// Copyright 2023 Prysmatic Labs.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
package ethereum.eth.v2;
|
|
||||||
|
|
||||||
import "proto/eth/ext/options.proto";
|
|
||||||
import "proto/eth/v1/beacon_block.proto";
|
|
||||||
import "proto/eth/v2/version.proto";
|
|
||||||
import "proto/eth/v2/sync_committee.proto";
|
|
||||||
import "proto/engine/v1/execution_engine.proto";
|
|
||||||
|
|
||||||
option csharp_namespace = "Ethereum.Eth.V2";
|
|
||||||
option go_package = "github.com/prysmaticlabs/prysm/v5/proto/eth/v2;eth";
|
|
||||||
option java_multiple_files = true;
|
|
||||||
option java_outer_classname = "SyncCommitteeProto";
|
|
||||||
option java_package = "org.ethereum.eth.v2";
|
|
||||||
option php_namespace = "Ethereum\\Eth\\v2";
|
|
||||||
|
|
||||||
// Beacon LightClient API related messages.
|
|
||||||
|
|
||||||
message LightClientHeader {
|
|
||||||
v1.BeaconBlockHeader beacon = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
message LightClientHeaderCapella {
|
|
||||||
v1.BeaconBlockHeader beacon = 1;
|
|
||||||
ethereum.engine.v1.ExecutionPayloadHeaderCapella execution = 2;
|
|
||||||
repeated bytes execution_branch = 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
message LightClientHeaderDeneb {
|
|
||||||
v1.BeaconBlockHeader beacon = 1;
|
|
||||||
ethereum.engine.v1.ExecutionPayloadHeaderDeneb execution = 2;
|
|
||||||
repeated bytes execution_branch = 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
message LightClientHeaderContainer {
|
|
||||||
oneof header {
|
|
||||||
LightClientHeader header_altair = 1;
|
|
||||||
LightClientHeaderCapella header_capella = 2;
|
|
||||||
LightClientHeaderDeneb header_deneb = 3;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
message LightClientBootstrap {
|
|
||||||
LightClientHeaderContainer header = 1;
|
|
||||||
SyncCommittee current_sync_committee = 2;
|
|
||||||
repeated bytes current_sync_committee_branch = 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
message LightClientUpdate {
|
|
||||||
LightClientHeaderContainer attested_header = 1;
|
|
||||||
SyncCommittee next_sync_committee = 2;
|
|
||||||
repeated bytes next_sync_committee_branch = 3;
|
|
||||||
LightClientHeaderContainer finalized_header = 4;
|
|
||||||
repeated bytes finality_branch = 5;
|
|
||||||
v1.SyncAggregate sync_aggregate = 6;
|
|
||||||
uint64 signature_slot = 7 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message LightClientFinalityUpdateWithVersion {
|
|
||||||
v2.Version version = 1;
|
|
||||||
LightClientFinalityUpdate data = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message LightClientFinalityUpdate {
|
|
||||||
LightClientHeaderContainer attested_header = 1;
|
|
||||||
LightClientHeaderContainer finalized_header = 2;
|
|
||||||
repeated bytes finality_branch = 3;
|
|
||||||
v1.SyncAggregate sync_aggregate = 4;
|
|
||||||
uint64 signature_slot = 5 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message LightClientOptimisticUpdateWithVersion {
|
|
||||||
v2.Version version = 1;
|
|
||||||
LightClientOptimisticUpdate data = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message LightClientOptimisticUpdate {
|
|
||||||
LightClientHeaderContainer attested_header = 1;
|
|
||||||
v1.SyncAggregate sync_aggregate = 2;
|
|
||||||
uint64 signature_slot = 3 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
|
||||||
}
|
|
||||||
|
|
||||||
message LightClientUpdateWithVersion {
|
|
||||||
v2.Version version = 1;
|
|
||||||
LightClientUpdate data = 2;
|
|
||||||
}
|
|
||||||
@@ -1,98 +0,0 @@
|
|||||||
package eth
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"fmt"
|
|
||||||
"math/bits"
|
|
||||||
|
|
||||||
enginev1 "github.com/prysmaticlabs/prysm/v5/proto/engine/v1"
|
|
||||||
|
|
||||||
v1 "github.com/prysmaticlabs/prysm/v5/proto/eth/v1"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
NextSyncCommitteeIndex = uint64(55)
|
|
||||||
FinalizedRootIndex = uint64(105)
|
|
||||||
)
|
|
||||||
|
|
||||||
func (x *SyncCommittee) Equals(other *SyncCommittee) bool {
|
|
||||||
if len(x.Pubkeys) != len(other.Pubkeys) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
for i := range x.Pubkeys {
|
|
||||||
if !bytes.Equal(x.Pubkeys[i], other.Pubkeys[i]) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return bytes.Equal(x.AggregatePubkey, other.AggregatePubkey)
|
|
||||||
}
|
|
||||||
|
|
||||||
func FloorLog2(x uint64) int {
|
|
||||||
return bits.Len64(x - 1)
|
|
||||||
}
|
|
||||||
|
|
||||||
func isEmptyWithLength(bb [][]byte, length uint64) bool {
|
|
||||||
if len(bb) == 0 {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
l := FloorLog2(length)
|
|
||||||
if len(bb) != l {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
for _, b := range bb {
|
|
||||||
if !bytes.Equal(b, []byte{}) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *LightClientUpdate) IsSyncCommitteeUpdate() bool {
|
|
||||||
return !isEmptyWithLength(x.GetNextSyncCommitteeBranch(), NextSyncCommitteeIndex)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *LightClientUpdate) IsFinalityUpdate() bool {
|
|
||||||
return !isEmptyWithLength(x.GetFinalityBranch(), FinalizedRootIndex)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *LightClientHeaderContainer) GetBeacon() (*v1.BeaconBlockHeader, error) {
|
|
||||||
switch input := x.Header.(type) {
|
|
||||||
case *LightClientHeaderContainer_HeaderAltair:
|
|
||||||
return input.HeaderAltair.Beacon, nil
|
|
||||||
case *LightClientHeaderContainer_HeaderCapella:
|
|
||||||
return input.HeaderCapella.Beacon, nil
|
|
||||||
case *LightClientHeaderContainer_HeaderDeneb:
|
|
||||||
return input.HeaderDeneb.Beacon, nil
|
|
||||||
default:
|
|
||||||
return nil, fmt.Errorf("unknown header type: %T", input)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *LightClientHeaderContainer) GetExecutionHeaderCapella() (*enginev1.ExecutionPayloadHeaderCapella, error) {
|
|
||||||
switch input := x.Header.(type) {
|
|
||||||
case *LightClientHeaderContainer_HeaderCapella:
|
|
||||||
return input.HeaderCapella.Execution, nil
|
|
||||||
default:
|
|
||||||
return nil, fmt.Errorf("header type %T not Capella", input)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *LightClientHeaderContainer) GetExecutionHeaderDeneb() (*enginev1.ExecutionPayloadHeaderDeneb, error) {
|
|
||||||
switch input := x.Header.(type) {
|
|
||||||
case *LightClientHeaderContainer_HeaderDeneb:
|
|
||||||
return input.HeaderDeneb.Execution, nil
|
|
||||||
default:
|
|
||||||
return nil, fmt.Errorf("header type %T not Deneb", input)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *LightClientHeaderContainer) GetExecutionBranch() ([][]byte, error) {
|
|
||||||
switch input := x.Header.(type) {
|
|
||||||
case *LightClientHeaderContainer_HeaderCapella:
|
|
||||||
return input.HeaderCapella.ExecutionBranch, nil
|
|
||||||
case *LightClientHeaderContainer_HeaderDeneb:
|
|
||||||
return input.HeaderDeneb.ExecutionBranch, nil
|
|
||||||
default:
|
|
||||||
return nil, fmt.Errorf("wrong header type %T", input)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
188
proto/eth/v2/ssz.pb.go
generated
188
proto/eth/v2/ssz.pb.go
generated
@@ -1,188 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
||||||
// versions:
|
|
||||||
// protoc-gen-go v1.31.0
|
|
||||||
// protoc v4.25.1
|
|
||||||
// source: proto/eth/v2/ssz.proto
|
|
||||||
|
|
||||||
package eth
|
|
||||||
|
|
||||||
import (
|
|
||||||
reflect "reflect"
|
|
||||||
sync "sync"
|
|
||||||
|
|
||||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
||||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
// Verify that this generated code is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
||||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
||||||
)
|
|
||||||
|
|
||||||
type SSZContainer struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
Version Version `protobuf:"varint,1,opt,name=version,proto3,enum=ethereum.eth.v2.Version" json:"version,omitempty"`
|
|
||||||
ExecutionOptimistic bool `protobuf:"varint,2,opt,name=execution_optimistic,json=executionOptimistic,proto3" json:"execution_optimistic,omitempty"`
|
|
||||||
Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
|
|
||||||
Finalized bool `protobuf:"varint,4,opt,name=finalized,proto3" json:"finalized,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SSZContainer) Reset() {
|
|
||||||
*x = SSZContainer{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_proto_eth_v2_ssz_proto_msgTypes[0]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SSZContainer) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*SSZContainer) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *SSZContainer) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_proto_eth_v2_ssz_proto_msgTypes[0]
|
|
||||||
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 SSZContainer.ProtoReflect.Descriptor instead.
|
|
||||||
func (*SSZContainer) Descriptor() ([]byte, []int) {
|
|
||||||
return file_proto_eth_v2_ssz_proto_rawDescGZIP(), []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SSZContainer) GetVersion() Version {
|
|
||||||
if x != nil {
|
|
||||||
return x.Version
|
|
||||||
}
|
|
||||||
return Version_PHASE0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SSZContainer) GetExecutionOptimistic() bool {
|
|
||||||
if x != nil {
|
|
||||||
return x.ExecutionOptimistic
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SSZContainer) GetData() []byte {
|
|
||||||
if x != nil {
|
|
||||||
return x.Data
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SSZContainer) GetFinalized() bool {
|
|
||||||
if x != nil {
|
|
||||||
return x.Finalized
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
var File_proto_eth_v2_ssz_proto protoreflect.FileDescriptor
|
|
||||||
|
|
||||||
var file_proto_eth_v2_ssz_proto_rawDesc = []byte{
|
|
||||||
0x0a, 0x16, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x73,
|
|
||||||
0x73, 0x7a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65,
|
|
||||||
0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x1a, 0x1a, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
||||||
0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
|
|
||||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x01, 0x0a, 0x0c, 0x53, 0x53, 0x5a, 0x43, 0x6f, 0x6e,
|
|
||||||
0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
|
||||||
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65,
|
|
||||||
0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
|
||||||
0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x78,
|
|
||||||
0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x73, 0x74,
|
|
||||||
0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74,
|
|
||||||
0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x12, 0x0a,
|
|
||||||
0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74,
|
|
||||||
0x61, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x04,
|
|
||||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42,
|
|
||||||
0x79, 0x0a, 0x13, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e,
|
|
||||||
0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x53, 0x73, 0x7a, 0x50, 0x72, 0x6f, 0x74, 0x6f,
|
|
||||||
0x50, 0x01, 0x5a, 0x32, 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, 0x70, 0x72, 0x79,
|
|
||||||
0x73, 0x6d, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f,
|
|
||||||
0x76, 0x32, 0x3b, 0x65, 0x74, 0x68, 0xaa, 0x02, 0x0f, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75,
|
|
||||||
0x6d, 0x2e, 0x45, 0x74, 0x68, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0f, 0x45, 0x74, 0x68, 0x65, 0x72,
|
|
||||||
0x65, 0x75, 0x6d, 0x5c, 0x45, 0x74, 0x68, 0x5c, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
|
||||||
0x6f, 0x33,
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
file_proto_eth_v2_ssz_proto_rawDescOnce sync.Once
|
|
||||||
file_proto_eth_v2_ssz_proto_rawDescData = file_proto_eth_v2_ssz_proto_rawDesc
|
|
||||||
)
|
|
||||||
|
|
||||||
func file_proto_eth_v2_ssz_proto_rawDescGZIP() []byte {
|
|
||||||
file_proto_eth_v2_ssz_proto_rawDescOnce.Do(func() {
|
|
||||||
file_proto_eth_v2_ssz_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_eth_v2_ssz_proto_rawDescData)
|
|
||||||
})
|
|
||||||
return file_proto_eth_v2_ssz_proto_rawDescData
|
|
||||||
}
|
|
||||||
|
|
||||||
var file_proto_eth_v2_ssz_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
|
||||||
var file_proto_eth_v2_ssz_proto_goTypes = []interface{}{
|
|
||||||
(*SSZContainer)(nil), // 0: ethereum.eth.v2.SSZContainer
|
|
||||||
(Version)(0), // 1: ethereum.eth.v2.Version
|
|
||||||
}
|
|
||||||
var file_proto_eth_v2_ssz_proto_depIdxs = []int32{
|
|
||||||
1, // 0: ethereum.eth.v2.SSZContainer.version:type_name -> ethereum.eth.v2.Version
|
|
||||||
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 extension type_name
|
|
||||||
1, // [1:1] is the sub-list for extension extendee
|
|
||||||
0, // [0:1] is the sub-list for field type_name
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() { file_proto_eth_v2_ssz_proto_init() }
|
|
||||||
func file_proto_eth_v2_ssz_proto_init() {
|
|
||||||
if File_proto_eth_v2_ssz_proto != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
file_proto_eth_v2_version_proto_init()
|
|
||||||
if !protoimpl.UnsafeEnabled {
|
|
||||||
file_proto_eth_v2_ssz_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*SSZContainer); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
type x struct{}
|
|
||||||
out := protoimpl.TypeBuilder{
|
|
||||||
File: protoimpl.DescBuilder{
|
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
||||||
RawDescriptor: file_proto_eth_v2_ssz_proto_rawDesc,
|
|
||||||
NumEnums: 0,
|
|
||||||
NumMessages: 1,
|
|
||||||
NumExtensions: 0,
|
|
||||||
NumServices: 0,
|
|
||||||
},
|
|
||||||
GoTypes: file_proto_eth_v2_ssz_proto_goTypes,
|
|
||||||
DependencyIndexes: file_proto_eth_v2_ssz_proto_depIdxs,
|
|
||||||
MessageInfos: file_proto_eth_v2_ssz_proto_msgTypes,
|
|
||||||
}.Build()
|
|
||||||
File_proto_eth_v2_ssz_proto = out.File
|
|
||||||
file_proto_eth_v2_ssz_proto_rawDesc = nil
|
|
||||||
file_proto_eth_v2_ssz_proto_goTypes = nil
|
|
||||||
file_proto_eth_v2_ssz_proto_depIdxs = nil
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
// Copyright 2022 Prysmatic Labs.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
package ethereum.eth.v2;
|
|
||||||
|
|
||||||
option csharp_namespace = "Ethereum.Eth.V2";
|
|
||||||
option go_package = "github.com/prysmaticlabs/prysm/v5/proto/eth/v2;eth";
|
|
||||||
option java_multiple_files = true;
|
|
||||||
option java_outer_classname = "SszProto";
|
|
||||||
option java_package = "org.ethereum.eth.v2";
|
|
||||||
option php_namespace = "Ethereum\\Eth\\v2";
|
|
||||||
|
|
||||||
import "proto/eth/v2/version.proto";
|
|
||||||
|
|
||||||
message SSZContainer {
|
|
||||||
Version version = 1;
|
|
||||||
bool execution_optimistic = 2;
|
|
||||||
bytes data = 3;
|
|
||||||
bool finalized = 4;
|
|
||||||
}
|
|
||||||
340
proto/eth/v2/sync_committee.pb.go
generated
340
proto/eth/v2/sync_committee.pb.go
generated
@@ -1,340 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
||||||
// versions:
|
|
||||||
// protoc-gen-go v1.31.0
|
|
||||||
// protoc v4.25.1
|
|
||||||
// source: proto/eth/v2/sync_committee.proto
|
|
||||||
|
|
||||||
package eth
|
|
||||||
|
|
||||||
import (
|
|
||||||
reflect "reflect"
|
|
||||||
sync "sync"
|
|
||||||
|
|
||||||
github_com_prysmaticlabs_prysm_v5_consensus_types_primitives "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives"
|
|
||||||
_ "github.com/prysmaticlabs/prysm/v5/proto/eth/ext"
|
|
||||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
||||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
// Verify that this generated code is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
||||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
||||||
)
|
|
||||||
|
|
||||||
type SubmitSyncCommitteeSignaturesRequest struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
Data []*SyncCommitteeMessage `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SubmitSyncCommitteeSignaturesRequest) Reset() {
|
|
||||||
*x = SubmitSyncCommitteeSignaturesRequest{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_proto_eth_v2_sync_committee_proto_msgTypes[0]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SubmitSyncCommitteeSignaturesRequest) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*SubmitSyncCommitteeSignaturesRequest) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *SubmitSyncCommitteeSignaturesRequest) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_proto_eth_v2_sync_committee_proto_msgTypes[0]
|
|
||||||
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 SubmitSyncCommitteeSignaturesRequest.ProtoReflect.Descriptor instead.
|
|
||||||
func (*SubmitSyncCommitteeSignaturesRequest) Descriptor() ([]byte, []int) {
|
|
||||||
return file_proto_eth_v2_sync_committee_proto_rawDescGZIP(), []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SubmitSyncCommitteeSignaturesRequest) GetData() []*SyncCommitteeMessage {
|
|
||||||
if x != nil {
|
|
||||||
return x.Data
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type SyncCommittee struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
Pubkeys [][]byte `protobuf:"bytes,1,rep,name=pubkeys,proto3" json:"pubkeys,omitempty" ssz-size:"512,48"`
|
|
||||||
AggregatePubkey []byte `protobuf:"bytes,2,opt,name=aggregate_pubkey,json=aggregatePubkey,proto3" json:"aggregate_pubkey,omitempty" ssz-size:"48"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommittee) Reset() {
|
|
||||||
*x = SyncCommittee{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_proto_eth_v2_sync_committee_proto_msgTypes[1]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommittee) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*SyncCommittee) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *SyncCommittee) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_proto_eth_v2_sync_committee_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 SyncCommittee.ProtoReflect.Descriptor instead.
|
|
||||||
func (*SyncCommittee) Descriptor() ([]byte, []int) {
|
|
||||||
return file_proto_eth_v2_sync_committee_proto_rawDescGZIP(), []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommittee) GetPubkeys() [][]byte {
|
|
||||||
if x != nil {
|
|
||||||
return x.Pubkeys
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommittee) GetAggregatePubkey() []byte {
|
|
||||||
if x != nil {
|
|
||||||
return x.AggregatePubkey
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type SyncCommitteeMessage struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
Slot github_com_prysmaticlabs_prysm_v5_consensus_types_primitives.Slot `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty" cast-type:"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"`
|
|
||||||
BeaconBlockRoot []byte `protobuf:"bytes,2,opt,name=beacon_block_root,json=beaconBlockRoot,proto3" json:"beacon_block_root,omitempty" ssz-size:"32"`
|
|
||||||
ValidatorIndex github_com_prysmaticlabs_prysm_v5_consensus_types_primitives.ValidatorIndex `protobuf:"varint,3,opt,name=validator_index,json=validatorIndex,proto3" json:"validator_index,omitempty" cast-type:"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"`
|
|
||||||
Signature []byte `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature,omitempty" ssz-size:"96"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommitteeMessage) Reset() {
|
|
||||||
*x = SyncCommitteeMessage{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_proto_eth_v2_sync_committee_proto_msgTypes[2]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommitteeMessage) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*SyncCommitteeMessage) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *SyncCommitteeMessage) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_proto_eth_v2_sync_committee_proto_msgTypes[2]
|
|
||||||
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 SyncCommitteeMessage.ProtoReflect.Descriptor instead.
|
|
||||||
func (*SyncCommitteeMessage) Descriptor() ([]byte, []int) {
|
|
||||||
return file_proto_eth_v2_sync_committee_proto_rawDescGZIP(), []int{2}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommitteeMessage) GetSlot() github_com_prysmaticlabs_prysm_v5_consensus_types_primitives.Slot {
|
|
||||||
if x != nil {
|
|
||||||
return x.Slot
|
|
||||||
}
|
|
||||||
return github_com_prysmaticlabs_prysm_v5_consensus_types_primitives.Slot(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommitteeMessage) GetBeaconBlockRoot() []byte {
|
|
||||||
if x != nil {
|
|
||||||
return x.BeaconBlockRoot
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommitteeMessage) GetValidatorIndex() github_com_prysmaticlabs_prysm_v5_consensus_types_primitives.ValidatorIndex {
|
|
||||||
if x != nil {
|
|
||||||
return x.ValidatorIndex
|
|
||||||
}
|
|
||||||
return github_com_prysmaticlabs_prysm_v5_consensus_types_primitives.ValidatorIndex(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommitteeMessage) GetSignature() []byte {
|
|
||||||
if x != nil {
|
|
||||||
return x.Signature
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var File_proto_eth_v2_sync_committee_proto protoreflect.FileDescriptor
|
|
||||||
|
|
||||||
var file_proto_eth_v2_sync_committee_proto_rawDesc = []byte{
|
|
||||||
0x0a, 0x21, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x73,
|
|
||||||
0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x2e, 0x70, 0x72,
|
|
||||||
0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74,
|
|
||||||
0x68, 0x2e, 0x76, 0x32, 0x1a, 0x1b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f,
|
|
||||||
0x65, 0x78, 0x74, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
||||||
0x6f, 0x22, 0x61, 0x0a, 0x24, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x43,
|
|
||||||
0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
|
|
||||||
0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x64, 0x61, 0x74,
|
|
||||||
0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65,
|
|
||||||
0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f,
|
|
||||||
0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x04,
|
|
||||||
0x64, 0x61, 0x74, 0x61, 0x22, 0x68, 0x0a, 0x0d, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d,
|
|
||||||
0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x24, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x73,
|
|
||||||
0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x0a, 0x8a, 0xb5, 0x18, 0x06, 0x35, 0x31, 0x32, 0x2c,
|
|
||||||
0x34, 0x38, 0x52, 0x07, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x31, 0x0a, 0x10, 0x61,
|
|
||||||
0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18,
|
|
||||||
0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x34, 0x38, 0x52, 0x0f, 0x61,
|
|
||||||
0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, 0xc5,
|
|
||||||
0x02, 0x0a, 0x14, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65,
|
|
||||||
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x59, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18,
|
|
||||||
0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x45, 0x82, 0xb5, 0x18, 0x41, 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, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x35, 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, 0x04, 0x73, 0x6c,
|
|
||||||
0x6f, 0x74, 0x12, 0x32, 0x0a, 0x11, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f,
|
|
||||||
0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a,
|
|
||||||
0xb5, 0x18, 0x02, 0x33, 0x32, 0x52, 0x0f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f,
|
|
||||||
0x63, 0x6b, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x78, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
|
|
||||||
0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42,
|
|
||||||
0x4f, 0x82, 0xb5, 0x18, 0x4b, 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, 0x70, 0x72,
|
|
||||||
0x79, 0x73, 0x6d, 0x2f, 0x76, 0x35, 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, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78,
|
|
||||||
0x52, 0x0e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78,
|
|
||||||
0x12, 0x24, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20,
|
|
||||||
0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x39, 0x36, 0x52, 0x09, 0x73, 0x69, 0x67,
|
|
||||||
0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x83, 0x01, 0x0a, 0x13, 0x6f, 0x72, 0x67, 0x2e, 0x65,
|
|
||||||
0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x42, 0x12,
|
|
||||||
0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x50, 0x72, 0x6f,
|
|
||||||
0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, 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, 0x70,
|
|
||||||
0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74,
|
|
||||||
0x68, 0x2f, 0x76, 0x32, 0x3b, 0x65, 0x74, 0x68, 0xaa, 0x02, 0x0f, 0x45, 0x74, 0x68, 0x65, 0x72,
|
|
||||||
0x65, 0x75, 0x6d, 0x2e, 0x45, 0x74, 0x68, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0f, 0x45, 0x74, 0x68,
|
|
||||||
0x65, 0x72, 0x65, 0x75, 0x6d, 0x5c, 0x45, 0x74, 0x68, 0x5c, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72,
|
|
||||||
0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
file_proto_eth_v2_sync_committee_proto_rawDescOnce sync.Once
|
|
||||||
file_proto_eth_v2_sync_committee_proto_rawDescData = file_proto_eth_v2_sync_committee_proto_rawDesc
|
|
||||||
)
|
|
||||||
|
|
||||||
func file_proto_eth_v2_sync_committee_proto_rawDescGZIP() []byte {
|
|
||||||
file_proto_eth_v2_sync_committee_proto_rawDescOnce.Do(func() {
|
|
||||||
file_proto_eth_v2_sync_committee_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_eth_v2_sync_committee_proto_rawDescData)
|
|
||||||
})
|
|
||||||
return file_proto_eth_v2_sync_committee_proto_rawDescData
|
|
||||||
}
|
|
||||||
|
|
||||||
var file_proto_eth_v2_sync_committee_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
|
|
||||||
var file_proto_eth_v2_sync_committee_proto_goTypes = []interface{}{
|
|
||||||
(*SubmitSyncCommitteeSignaturesRequest)(nil), // 0: ethereum.eth.v2.SubmitSyncCommitteeSignaturesRequest
|
|
||||||
(*SyncCommittee)(nil), // 1: ethereum.eth.v2.SyncCommittee
|
|
||||||
(*SyncCommitteeMessage)(nil), // 2: ethereum.eth.v2.SyncCommitteeMessage
|
|
||||||
}
|
|
||||||
var file_proto_eth_v2_sync_committee_proto_depIdxs = []int32{
|
|
||||||
2, // 0: ethereum.eth.v2.SubmitSyncCommitteeSignaturesRequest.data:type_name -> ethereum.eth.v2.SyncCommitteeMessage
|
|
||||||
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 extension type_name
|
|
||||||
1, // [1:1] is the sub-list for extension extendee
|
|
||||||
0, // [0:1] is the sub-list for field type_name
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() { file_proto_eth_v2_sync_committee_proto_init() }
|
|
||||||
func file_proto_eth_v2_sync_committee_proto_init() {
|
|
||||||
if File_proto_eth_v2_sync_committee_proto != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if !protoimpl.UnsafeEnabled {
|
|
||||||
file_proto_eth_v2_sync_committee_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*SubmitSyncCommitteeSignaturesRequest); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_proto_eth_v2_sync_committee_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*SyncCommittee); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_proto_eth_v2_sync_committee_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*SyncCommitteeMessage); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
type x struct{}
|
|
||||||
out := protoimpl.TypeBuilder{
|
|
||||||
File: protoimpl.DescBuilder{
|
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
||||||
RawDescriptor: file_proto_eth_v2_sync_committee_proto_rawDesc,
|
|
||||||
NumEnums: 0,
|
|
||||||
NumMessages: 3,
|
|
||||||
NumExtensions: 0,
|
|
||||||
NumServices: 0,
|
|
||||||
},
|
|
||||||
GoTypes: file_proto_eth_v2_sync_committee_proto_goTypes,
|
|
||||||
DependencyIndexes: file_proto_eth_v2_sync_committee_proto_depIdxs,
|
|
||||||
MessageInfos: file_proto_eth_v2_sync_committee_proto_msgTypes,
|
|
||||||
}.Build()
|
|
||||||
File_proto_eth_v2_sync_committee_proto = out.File
|
|
||||||
file_proto_eth_v2_sync_committee_proto_rawDesc = nil
|
|
||||||
file_proto_eth_v2_sync_committee_proto_goTypes = nil
|
|
||||||
file_proto_eth_v2_sync_committee_proto_depIdxs = nil
|
|
||||||
}
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
// Copyright 2021 Prysmatic Labs.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
package ethereum.eth.v2;
|
|
||||||
|
|
||||||
import "proto/eth/ext/options.proto";
|
|
||||||
|
|
||||||
option csharp_namespace = "Ethereum.Eth.V2";
|
|
||||||
option go_package = "github.com/prysmaticlabs/prysm/v5/proto/eth/v2;eth";
|
|
||||||
option java_multiple_files = true;
|
|
||||||
option java_outer_classname = "SyncCommitteeProto";
|
|
||||||
option java_package = "org.ethereum.eth.v2";
|
|
||||||
option php_namespace = "Ethereum\\Eth\\v2";
|
|
||||||
|
|
||||||
message SubmitSyncCommitteeSignaturesRequest {
|
|
||||||
repeated SyncCommitteeMessage data = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// SyncCommittee serves as committees to facilitate light client syncing to beacon chain.
|
|
||||||
message SyncCommittee {
|
|
||||||
repeated bytes pubkeys = 1 [(ethereum.eth.ext.ssz_size) = "sync_committee_bits.size,48"];
|
|
||||||
bytes aggregate_pubkey = 2 [(ethereum.eth.ext.ssz_size) = "48"];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Sync committee object to support light client.
|
|
||||||
message SyncCommitteeMessage {
|
|
||||||
// Slot to which this contribution pertains.
|
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
|
||||||
|
|
||||||
// 32 byte block root for this signature.
|
|
||||||
bytes beacon_block_root = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// Index of the validator that produced this signature.
|
|
||||||
uint64 validator_index = 3 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
|
||||||
|
|
||||||
// Signature by the validator over the block root of `slot`.
|
|
||||||
bytes signature = 4 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
}
|
|
||||||
547
proto/eth/v2/validator.pb.go
generated
547
proto/eth/v2/validator.pb.go
generated
@@ -1,547 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
||||||
// versions:
|
|
||||||
// protoc-gen-go v1.31.0
|
|
||||||
// protoc v4.25.1
|
|
||||||
// source: proto/eth/v2/validator.proto
|
|
||||||
|
|
||||||
package eth
|
|
||||||
|
|
||||||
import (
|
|
||||||
reflect "reflect"
|
|
||||||
sync "sync"
|
|
||||||
|
|
||||||
github_com_prysmaticlabs_go_bitfield "github.com/prysmaticlabs/go-bitfield"
|
|
||||||
github_com_prysmaticlabs_prysm_v5_consensus_types_primitives "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives"
|
|
||||||
_ "github.com/prysmaticlabs/prysm/v5/proto/eth/ext"
|
|
||||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
||||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
// Verify that this generated code is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
||||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
||||||
)
|
|
||||||
|
|
||||||
type ProduceBlockResponseV2 struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
Version Version `protobuf:"varint,1,opt,name=version,proto3,enum=ethereum.eth.v2.Version" json:"version,omitempty"`
|
|
||||||
Data *BeaconBlockContainerV2 `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ProduceBlockResponseV2) Reset() {
|
|
||||||
*x = ProduceBlockResponseV2{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_proto_eth_v2_validator_proto_msgTypes[0]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ProduceBlockResponseV2) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*ProduceBlockResponseV2) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *ProduceBlockResponseV2) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_proto_eth_v2_validator_proto_msgTypes[0]
|
|
||||||
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 ProduceBlockResponseV2.ProtoReflect.Descriptor instead.
|
|
||||||
func (*ProduceBlockResponseV2) Descriptor() ([]byte, []int) {
|
|
||||||
return file_proto_eth_v2_validator_proto_rawDescGZIP(), []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ProduceBlockResponseV2) GetVersion() Version {
|
|
||||||
if x != nil {
|
|
||||||
return x.Version
|
|
||||||
}
|
|
||||||
return Version_PHASE0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ProduceBlockResponseV2) GetData() *BeaconBlockContainerV2 {
|
|
||||||
if x != nil {
|
|
||||||
return x.Data
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type ProduceBlindedBlockResponse struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
Version Version `protobuf:"varint,1,opt,name=version,proto3,enum=ethereum.eth.v2.Version" json:"version,omitempty"`
|
|
||||||
Data *BlindedBeaconBlockContainer `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ProduceBlindedBlockResponse) Reset() {
|
|
||||||
*x = ProduceBlindedBlockResponse{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_proto_eth_v2_validator_proto_msgTypes[1]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ProduceBlindedBlockResponse) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*ProduceBlindedBlockResponse) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *ProduceBlindedBlockResponse) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_proto_eth_v2_validator_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 ProduceBlindedBlockResponse.ProtoReflect.Descriptor instead.
|
|
||||||
func (*ProduceBlindedBlockResponse) Descriptor() ([]byte, []int) {
|
|
||||||
return file_proto_eth_v2_validator_proto_rawDescGZIP(), []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ProduceBlindedBlockResponse) GetVersion() Version {
|
|
||||||
if x != nil {
|
|
||||||
return x.Version
|
|
||||||
}
|
|
||||||
return Version_PHASE0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ProduceBlindedBlockResponse) GetData() *BlindedBeaconBlockContainer {
|
|
||||||
if x != nil {
|
|
||||||
return x.Data
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type SyncCommitteeContribution struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
Slot github_com_prysmaticlabs_prysm_v5_consensus_types_primitives.Slot `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty" cast-type:"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"`
|
|
||||||
BeaconBlockRoot []byte `protobuf:"bytes,2,opt,name=beacon_block_root,json=beaconBlockRoot,proto3" json:"beacon_block_root,omitempty" ssz-size:"32"`
|
|
||||||
SubcommitteeIndex uint64 `protobuf:"varint,3,opt,name=subcommittee_index,json=subcommitteeIndex,proto3" json:"subcommittee_index,omitempty"`
|
|
||||||
AggregationBits github_com_prysmaticlabs_go_bitfield.Bitvector128 `protobuf:"bytes,4,opt,name=aggregation_bits,json=aggregationBits,proto3" json:"aggregation_bits,omitempty" cast-type:"github.com/prysmaticlabs/go-bitfield.Bitvector128" ssz-size:"16"`
|
|
||||||
Signature []byte `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty" ssz-size:"96"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommitteeContribution) Reset() {
|
|
||||||
*x = SyncCommitteeContribution{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_proto_eth_v2_validator_proto_msgTypes[2]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommitteeContribution) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*SyncCommitteeContribution) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *SyncCommitteeContribution) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_proto_eth_v2_validator_proto_msgTypes[2]
|
|
||||||
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 SyncCommitteeContribution.ProtoReflect.Descriptor instead.
|
|
||||||
func (*SyncCommitteeContribution) Descriptor() ([]byte, []int) {
|
|
||||||
return file_proto_eth_v2_validator_proto_rawDescGZIP(), []int{2}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommitteeContribution) GetSlot() github_com_prysmaticlabs_prysm_v5_consensus_types_primitives.Slot {
|
|
||||||
if x != nil {
|
|
||||||
return x.Slot
|
|
||||||
}
|
|
||||||
return github_com_prysmaticlabs_prysm_v5_consensus_types_primitives.Slot(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommitteeContribution) GetBeaconBlockRoot() []byte {
|
|
||||||
if x != nil {
|
|
||||||
return x.BeaconBlockRoot
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommitteeContribution) GetSubcommitteeIndex() uint64 {
|
|
||||||
if x != nil {
|
|
||||||
return x.SubcommitteeIndex
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommitteeContribution) GetAggregationBits() github_com_prysmaticlabs_go_bitfield.Bitvector128 {
|
|
||||||
if x != nil {
|
|
||||||
return x.AggregationBits
|
|
||||||
}
|
|
||||||
return github_com_prysmaticlabs_go_bitfield.Bitvector128(nil)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SyncCommitteeContribution) GetSignature() []byte {
|
|
||||||
if x != nil {
|
|
||||||
return x.Signature
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type ContributionAndProof struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
AggregatorIndex github_com_prysmaticlabs_prysm_v5_consensus_types_primitives.ValidatorIndex `protobuf:"varint,1,opt,name=aggregator_index,json=aggregatorIndex,proto3" json:"aggregator_index,omitempty" cast-type:"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"`
|
|
||||||
Contribution *SyncCommitteeContribution `protobuf:"bytes,2,opt,name=contribution,proto3" json:"contribution,omitempty"`
|
|
||||||
SelectionProof []byte `protobuf:"bytes,3,opt,name=selection_proof,json=selectionProof,proto3" json:"selection_proof,omitempty" ssz-size:"96"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ContributionAndProof) Reset() {
|
|
||||||
*x = ContributionAndProof{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_proto_eth_v2_validator_proto_msgTypes[3]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ContributionAndProof) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*ContributionAndProof) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *ContributionAndProof) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_proto_eth_v2_validator_proto_msgTypes[3]
|
|
||||||
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 ContributionAndProof.ProtoReflect.Descriptor instead.
|
|
||||||
func (*ContributionAndProof) Descriptor() ([]byte, []int) {
|
|
||||||
return file_proto_eth_v2_validator_proto_rawDescGZIP(), []int{3}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ContributionAndProof) GetAggregatorIndex() github_com_prysmaticlabs_prysm_v5_consensus_types_primitives.ValidatorIndex {
|
|
||||||
if x != nil {
|
|
||||||
return x.AggregatorIndex
|
|
||||||
}
|
|
||||||
return github_com_prysmaticlabs_prysm_v5_consensus_types_primitives.ValidatorIndex(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ContributionAndProof) GetContribution() *SyncCommitteeContribution {
|
|
||||||
if x != nil {
|
|
||||||
return x.Contribution
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *ContributionAndProof) GetSelectionProof() []byte {
|
|
||||||
if x != nil {
|
|
||||||
return x.SelectionProof
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type SignedContributionAndProof struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
Message *ContributionAndProof `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
|
|
||||||
Signature []byte `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature,omitempty" ssz-size:"96"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SignedContributionAndProof) Reset() {
|
|
||||||
*x = SignedContributionAndProof{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_proto_eth_v2_validator_proto_msgTypes[4]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SignedContributionAndProof) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*SignedContributionAndProof) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *SignedContributionAndProof) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_proto_eth_v2_validator_proto_msgTypes[4]
|
|
||||||
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 SignedContributionAndProof.ProtoReflect.Descriptor instead.
|
|
||||||
func (*SignedContributionAndProof) Descriptor() ([]byte, []int) {
|
|
||||||
return file_proto_eth_v2_validator_proto_rawDescGZIP(), []int{4}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SignedContributionAndProof) GetMessage() *ContributionAndProof {
|
|
||||||
if x != nil {
|
|
||||||
return x.Message
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SignedContributionAndProof) GetSignature() []byte {
|
|
||||||
if x != nil {
|
|
||||||
return x.Signature
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var File_proto_eth_v2_validator_proto protoreflect.FileDescriptor
|
|
||||||
|
|
||||||
var file_proto_eth_v2_validator_proto_rawDesc = []byte{
|
|
||||||
0x0a, 0x1c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x76,
|
|
||||||
0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f,
|
|
||||||
0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x1a,
|
|
||||||
0x1b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x65, 0x78, 0x74, 0x2f, 0x6f,
|
|
||||||
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x70, 0x72,
|
|
||||||
0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x62, 0x65, 0x61, 0x63, 0x6f,
|
|
||||||
0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x70,
|
|
||||||
0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x65, 0x72, 0x73,
|
|
||||||
0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x16, 0x50, 0x72,
|
|
||||||
0x6f, 0x64, 0x75, 0x63, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
|
||||||
0x73, 0x65, 0x56, 0x32, 0x12, 0x32, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
|
|
||||||
0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d,
|
|
||||||
0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
|
|
||||||
0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
|
|
||||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75,
|
|
||||||
0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42,
|
|
||||||
0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x56, 0x32, 0x52,
|
|
||||||
0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x93, 0x01, 0x0a, 0x1b, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
|
|
||||||
0x65, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73,
|
|
||||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
|
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75,
|
|
||||||
0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
|
|
||||||
0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x04, 0x64, 0x61, 0x74,
|
|
||||||
0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65,
|
|
||||||
0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65,
|
|
||||||
0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x74,
|
|
||||||
0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe7, 0x02, 0x0a, 0x19,
|
|
||||||
0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x43, 0x6f, 0x6e,
|
|
||||||
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x04, 0x73, 0x6c, 0x6f,
|
|
||||||
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x45, 0x82, 0xb5, 0x18, 0x41, 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, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x35, 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, 0x04,
|
|
||||||
0x73, 0x6c, 0x6f, 0x74, 0x12, 0x32, 0x0a, 0x11, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62,
|
|
||||||
0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42,
|
|
||||||
0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 0x52, 0x0f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42,
|
|
||||||
0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x63,
|
|
||||||
0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03,
|
|
||||||
0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74,
|
|
||||||
0x65, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x66, 0x0a, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65,
|
|
||||||
0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
|
|
||||||
0x0c, 0x42, 0x3b, 0x82, 0xb5, 0x18, 0x31, 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, 0x31, 0x32, 0x38, 0x8a, 0xb5, 0x18, 0x02, 0x31, 0x36, 0x52, 0x0f,
|
|
||||||
0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x74, 0x73, 0x12,
|
|
||||||
0x24, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01,
|
|
||||||
0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x39, 0x36, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e,
|
|
||||||
0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x93, 0x02, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69,
|
|
||||||
0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x7a,
|
|
||||||
0x0a, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64,
|
|
||||||
0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x4f, 0x82, 0xb5, 0x18, 0x4b, 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, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x35, 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, 0x56, 0x61, 0x6c, 0x69, 0x64,
|
|
||||||
0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0f, 0x61, 0x67, 0x67, 0x72, 0x65,
|
|
||||||
0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x4e, 0x0a, 0x0c, 0x63, 0x6f,
|
|
||||||
0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
|
|
||||||
0x32, 0x2a, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e,
|
|
||||||
0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65,
|
|
||||||
0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f,
|
|
||||||
0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65,
|
|
||||||
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x03, 0x20,
|
|
||||||
0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x39, 0x36, 0x52, 0x0e, 0x73, 0x65, 0x6c,
|
|
||||||
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x22, 0x83, 0x01, 0x0a, 0x1a,
|
|
||||||
0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
|
|
||||||
0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x3f, 0x0a, 0x07, 0x6d, 0x65,
|
|
||||||
0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x74,
|
|
||||||
0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f,
|
|
||||||
0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f,
|
|
||||||
0x6f, 0x66, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x09, 0x73,
|
|
||||||
0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06,
|
|
||||||
0x8a, 0xb5, 0x18, 0x02, 0x39, 0x36, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
|
|
||||||
0x65, 0x42, 0x7f, 0x0a, 0x13, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75,
|
|
||||||
0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x42, 0x0e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
|
|
||||||
0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, 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, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72,
|
|
||||||
0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x3b, 0x65, 0x74, 0x68, 0xaa, 0x02,
|
|
||||||
0x0f, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x45, 0x74, 0x68, 0x2e, 0x56, 0x32,
|
|
||||||
0xca, 0x02, 0x0f, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x5c, 0x45, 0x74, 0x68, 0x5c,
|
|
||||||
0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
file_proto_eth_v2_validator_proto_rawDescOnce sync.Once
|
|
||||||
file_proto_eth_v2_validator_proto_rawDescData = file_proto_eth_v2_validator_proto_rawDesc
|
|
||||||
)
|
|
||||||
|
|
||||||
func file_proto_eth_v2_validator_proto_rawDescGZIP() []byte {
|
|
||||||
file_proto_eth_v2_validator_proto_rawDescOnce.Do(func() {
|
|
||||||
file_proto_eth_v2_validator_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_eth_v2_validator_proto_rawDescData)
|
|
||||||
})
|
|
||||||
return file_proto_eth_v2_validator_proto_rawDescData
|
|
||||||
}
|
|
||||||
|
|
||||||
var file_proto_eth_v2_validator_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
|
|
||||||
var file_proto_eth_v2_validator_proto_goTypes = []interface{}{
|
|
||||||
(*ProduceBlockResponseV2)(nil), // 0: ethereum.eth.v2.ProduceBlockResponseV2
|
|
||||||
(*ProduceBlindedBlockResponse)(nil), // 1: ethereum.eth.v2.ProduceBlindedBlockResponse
|
|
||||||
(*SyncCommitteeContribution)(nil), // 2: ethereum.eth.v2.SyncCommitteeContribution
|
|
||||||
(*ContributionAndProof)(nil), // 3: ethereum.eth.v2.ContributionAndProof
|
|
||||||
(*SignedContributionAndProof)(nil), // 4: ethereum.eth.v2.SignedContributionAndProof
|
|
||||||
(Version)(0), // 5: ethereum.eth.v2.Version
|
|
||||||
(*BeaconBlockContainerV2)(nil), // 6: ethereum.eth.v2.BeaconBlockContainerV2
|
|
||||||
(*BlindedBeaconBlockContainer)(nil), // 7: ethereum.eth.v2.BlindedBeaconBlockContainer
|
|
||||||
}
|
|
||||||
var file_proto_eth_v2_validator_proto_depIdxs = []int32{
|
|
||||||
5, // 0: ethereum.eth.v2.ProduceBlockResponseV2.version:type_name -> ethereum.eth.v2.Version
|
|
||||||
6, // 1: ethereum.eth.v2.ProduceBlockResponseV2.data:type_name -> ethereum.eth.v2.BeaconBlockContainerV2
|
|
||||||
5, // 2: ethereum.eth.v2.ProduceBlindedBlockResponse.version:type_name -> ethereum.eth.v2.Version
|
|
||||||
7, // 3: ethereum.eth.v2.ProduceBlindedBlockResponse.data:type_name -> ethereum.eth.v2.BlindedBeaconBlockContainer
|
|
||||||
2, // 4: ethereum.eth.v2.ContributionAndProof.contribution:type_name -> ethereum.eth.v2.SyncCommitteeContribution
|
|
||||||
3, // 5: ethereum.eth.v2.SignedContributionAndProof.message:type_name -> ethereum.eth.v2.ContributionAndProof
|
|
||||||
6, // [6:6] is the sub-list for method output_type
|
|
||||||
6, // [6:6] is the sub-list for method input_type
|
|
||||||
6, // [6:6] is the sub-list for extension type_name
|
|
||||||
6, // [6:6] is the sub-list for extension extendee
|
|
||||||
0, // [0:6] is the sub-list for field type_name
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() { file_proto_eth_v2_validator_proto_init() }
|
|
||||||
func file_proto_eth_v2_validator_proto_init() {
|
|
||||||
if File_proto_eth_v2_validator_proto != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
file_proto_eth_v2_beacon_block_proto_init()
|
|
||||||
file_proto_eth_v2_version_proto_init()
|
|
||||||
if !protoimpl.UnsafeEnabled {
|
|
||||||
file_proto_eth_v2_validator_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*ProduceBlockResponseV2); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_proto_eth_v2_validator_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*ProduceBlindedBlockResponse); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_proto_eth_v2_validator_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*SyncCommitteeContribution); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_proto_eth_v2_validator_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*ContributionAndProof); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_proto_eth_v2_validator_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*SignedContributionAndProof); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
type x struct{}
|
|
||||||
out := protoimpl.TypeBuilder{
|
|
||||||
File: protoimpl.DescBuilder{
|
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
||||||
RawDescriptor: file_proto_eth_v2_validator_proto_rawDesc,
|
|
||||||
NumEnums: 0,
|
|
||||||
NumMessages: 5,
|
|
||||||
NumExtensions: 0,
|
|
||||||
NumServices: 0,
|
|
||||||
},
|
|
||||||
GoTypes: file_proto_eth_v2_validator_proto_goTypes,
|
|
||||||
DependencyIndexes: file_proto_eth_v2_validator_proto_depIdxs,
|
|
||||||
MessageInfos: file_proto_eth_v2_validator_proto_msgTypes,
|
|
||||||
}.Build()
|
|
||||||
File_proto_eth_v2_validator_proto = out.File
|
|
||||||
file_proto_eth_v2_validator_proto_rawDesc = nil
|
|
||||||
file_proto_eth_v2_validator_proto_goTypes = nil
|
|
||||||
file_proto_eth_v2_validator_proto_depIdxs = nil
|
|
||||||
}
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
// Copyright 2021 Prysmatic Labs.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
package ethereum.eth.v2;
|
|
||||||
|
|
||||||
import "proto/eth/ext/options.proto";
|
|
||||||
import "proto/eth/v2/beacon_block.proto";
|
|
||||||
import "proto/eth/v2/version.proto";
|
|
||||||
|
|
||||||
option csharp_namespace = "Ethereum.Eth.V2";
|
|
||||||
option go_package = "github.com/prysmaticlabs/prysm/v5/proto/eth/v2;eth";
|
|
||||||
option java_multiple_files = true;
|
|
||||||
option java_outer_classname = "ValidatorProto";
|
|
||||||
option java_package = "org.ethereum.eth.v2";
|
|
||||||
option php_namespace = "Ethereum\\Eth\\v2";
|
|
||||||
|
|
||||||
message ProduceBlockResponseV2 {
|
|
||||||
Version version = 1;
|
|
||||||
BeaconBlockContainerV2 data = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message ProduceBlindedBlockResponse {
|
|
||||||
Version version = 1;
|
|
||||||
BlindedBeaconBlockContainer data = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Aggregated sync committee object to support light client.
|
|
||||||
message SyncCommitteeContribution {
|
|
||||||
// Slot to which this contribution pertains.
|
|
||||||
uint64 slot = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.Slot"];
|
|
||||||
|
|
||||||
// 32 byte block root for this signature.
|
|
||||||
bytes beacon_block_root = 2 [(ethereum.eth.ext.ssz_size) = "32"];
|
|
||||||
|
|
||||||
// The subcommittee this contribution pertains to out of the broader sync committee.
|
|
||||||
uint64 subcommittee_index = 3;
|
|
||||||
|
|
||||||
// A bit is set if a signature from the validator at the corresponding
|
|
||||||
// index in the subcommittee is present in the aggregate `signature`.
|
|
||||||
bytes aggregation_bits = 4 [(ethereum.eth.ext.ssz_size) = "sync_committee_aggregate_bytes.size", (ethereum.eth.ext.cast_type) = "sync_committee_aggregate_bits.type"];
|
|
||||||
|
|
||||||
// Signature by the validator(s) over the block root of `slot`.
|
|
||||||
bytes signature = 5 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Aggregated sync committee signature object with selection proof to support light client.
|
|
||||||
message ContributionAndProof {
|
|
||||||
// Index of the aggregator that produced this proof.
|
|
||||||
uint64 aggregator_index = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
|
||||||
|
|
||||||
SyncCommitteeContribution contribution = 2;
|
|
||||||
|
|
||||||
// The selection proof itself.
|
|
||||||
bytes selection_proof = 3 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Signed aggregated sync committee signature object with selection proof to support light client.
|
|
||||||
message SignedContributionAndProof {
|
|
||||||
ContributionAndProof message = 1;
|
|
||||||
|
|
||||||
// Signature of the aggregator that produced `message`.
|
|
||||||
bytes signature = 4 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
}
|
|
||||||
151
proto/eth/v2/version.pb.go
generated
151
proto/eth/v2/version.pb.go
generated
@@ -1,151 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
||||||
// versions:
|
|
||||||
// protoc-gen-go v1.31.0
|
|
||||||
// protoc v4.25.1
|
|
||||||
// source: proto/eth/v2/version.proto
|
|
||||||
|
|
||||||
package eth
|
|
||||||
|
|
||||||
import (
|
|
||||||
reflect "reflect"
|
|
||||||
sync "sync"
|
|
||||||
|
|
||||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
||||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
// Verify that this generated code is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
||||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
||||||
)
|
|
||||||
|
|
||||||
type Version int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
Version_PHASE0 Version = 0
|
|
||||||
Version_ALTAIR Version = 1
|
|
||||||
Version_BELLATRIX Version = 2
|
|
||||||
Version_CAPELLA Version = 3
|
|
||||||
Version_DENEB Version = 4
|
|
||||||
Version_ELECTRA Version = 5
|
|
||||||
)
|
|
||||||
|
|
||||||
// Enum value maps for Version.
|
|
||||||
var (
|
|
||||||
Version_name = map[int32]string{
|
|
||||||
0: "PHASE0",
|
|
||||||
1: "ALTAIR",
|
|
||||||
2: "BELLATRIX",
|
|
||||||
3: "CAPELLA",
|
|
||||||
4: "DENEB",
|
|
||||||
5: "ELECTRA",
|
|
||||||
}
|
|
||||||
Version_value = map[string]int32{
|
|
||||||
"PHASE0": 0,
|
|
||||||
"ALTAIR": 1,
|
|
||||||
"BELLATRIX": 2,
|
|
||||||
"CAPELLA": 3,
|
|
||||||
"DENEB": 4,
|
|
||||||
"ELECTRA": 5,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func (x Version) Enum() *Version {
|
|
||||||
p := new(Version)
|
|
||||||
*p = x
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x Version) String() string {
|
|
||||||
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (Version) Descriptor() protoreflect.EnumDescriptor {
|
|
||||||
return file_proto_eth_v2_version_proto_enumTypes[0].Descriptor()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (Version) Type() protoreflect.EnumType {
|
|
||||||
return &file_proto_eth_v2_version_proto_enumTypes[0]
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x Version) Number() protoreflect.EnumNumber {
|
|
||||||
return protoreflect.EnumNumber(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use Version.Descriptor instead.
|
|
||||||
func (Version) EnumDescriptor() ([]byte, []int) {
|
|
||||||
return file_proto_eth_v2_version_proto_rawDescGZIP(), []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
var File_proto_eth_v2_version_proto protoreflect.FileDescriptor
|
|
||||||
|
|
||||||
var file_proto_eth_v2_version_proto_rawDesc = []byte{
|
|
||||||
0x0a, 0x1a, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x76,
|
|
||||||
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x65, 0x74,
|
|
||||||
0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2a, 0x55, 0x0a,
|
|
||||||
0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x48, 0x41, 0x53,
|
|
||||||
0x45, 0x30, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4c, 0x54, 0x41, 0x49, 0x52, 0x10, 0x01,
|
|
||||||
0x12, 0x0d, 0x0a, 0x09, 0x42, 0x45, 0x4c, 0x4c, 0x41, 0x54, 0x52, 0x49, 0x58, 0x10, 0x02, 0x12,
|
|
||||||
0x0b, 0x0a, 0x07, 0x43, 0x41, 0x50, 0x45, 0x4c, 0x4c, 0x41, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05,
|
|
||||||
0x44, 0x45, 0x4e, 0x45, 0x42, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4c, 0x45, 0x43, 0x54,
|
|
||||||
0x52, 0x41, 0x10, 0x05, 0x42, 0x7d, 0x0a, 0x13, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x74, 0x68, 0x65,
|
|
||||||
0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x42, 0x0c, 0x56, 0x65, 0x72,
|
|
||||||
0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, 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, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x35, 0x2f, 0x70,
|
|
||||||
0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x3b, 0x65, 0x74, 0x68, 0xaa,
|
|
||||||
0x02, 0x0f, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x45, 0x74, 0x68, 0x2e, 0x56,
|
|
||||||
0x32, 0xca, 0x02, 0x0f, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x5c, 0x45, 0x74, 0x68,
|
|
||||||
0x5c, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
file_proto_eth_v2_version_proto_rawDescOnce sync.Once
|
|
||||||
file_proto_eth_v2_version_proto_rawDescData = file_proto_eth_v2_version_proto_rawDesc
|
|
||||||
)
|
|
||||||
|
|
||||||
func file_proto_eth_v2_version_proto_rawDescGZIP() []byte {
|
|
||||||
file_proto_eth_v2_version_proto_rawDescOnce.Do(func() {
|
|
||||||
file_proto_eth_v2_version_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_eth_v2_version_proto_rawDescData)
|
|
||||||
})
|
|
||||||
return file_proto_eth_v2_version_proto_rawDescData
|
|
||||||
}
|
|
||||||
|
|
||||||
var file_proto_eth_v2_version_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
|
||||||
var file_proto_eth_v2_version_proto_goTypes = []interface{}{
|
|
||||||
(Version)(0), // 0: ethereum.eth.v2.Version
|
|
||||||
}
|
|
||||||
var file_proto_eth_v2_version_proto_depIdxs = []int32{
|
|
||||||
0, // [0:0] is the sub-list for method output_type
|
|
||||||
0, // [0:0] is the sub-list for method input_type
|
|
||||||
0, // [0:0] is the sub-list for extension type_name
|
|
||||||
0, // [0:0] is the sub-list for extension extendee
|
|
||||||
0, // [0:0] is the sub-list for field type_name
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() { file_proto_eth_v2_version_proto_init() }
|
|
||||||
func file_proto_eth_v2_version_proto_init() {
|
|
||||||
if File_proto_eth_v2_version_proto != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
type x struct{}
|
|
||||||
out := protoimpl.TypeBuilder{
|
|
||||||
File: protoimpl.DescBuilder{
|
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
||||||
RawDescriptor: file_proto_eth_v2_version_proto_rawDesc,
|
|
||||||
NumEnums: 1,
|
|
||||||
NumMessages: 0,
|
|
||||||
NumExtensions: 0,
|
|
||||||
NumServices: 0,
|
|
||||||
},
|
|
||||||
GoTypes: file_proto_eth_v2_version_proto_goTypes,
|
|
||||||
DependencyIndexes: file_proto_eth_v2_version_proto_depIdxs,
|
|
||||||
EnumInfos: file_proto_eth_v2_version_proto_enumTypes,
|
|
||||||
}.Build()
|
|
||||||
File_proto_eth_v2_version_proto = out.File
|
|
||||||
file_proto_eth_v2_version_proto_rawDesc = nil
|
|
||||||
file_proto_eth_v2_version_proto_goTypes = nil
|
|
||||||
file_proto_eth_v2_version_proto_depIdxs = nil
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
// Copyright 2021 Prysmatic Labs.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
package ethereum.eth.v2;
|
|
||||||
|
|
||||||
option csharp_namespace = "Ethereum.Eth.V2";
|
|
||||||
option go_package = "github.com/prysmaticlabs/prysm/v5/proto/eth/v2;eth";
|
|
||||||
option java_multiple_files = true;
|
|
||||||
option java_outer_classname = "VersionProto";
|
|
||||||
option java_package = "org.ethereum.eth.v2";
|
|
||||||
option php_namespace = "Ethereum\\Eth\\v2";
|
|
||||||
|
|
||||||
// Version states the version of the returned accompanying message.
|
|
||||||
enum Version {
|
|
||||||
PHASE0 = 0;
|
|
||||||
ALTAIR = 1;
|
|
||||||
BELLATRIX = 2;
|
|
||||||
CAPELLA = 3;
|
|
||||||
DENEB = 4;
|
|
||||||
ELECTRA = 5;
|
|
||||||
}
|
|
||||||
262
proto/eth/v2/withdrawals.pb.go
generated
262
proto/eth/v2/withdrawals.pb.go
generated
@@ -1,262 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
||||||
// versions:
|
|
||||||
// protoc-gen-go v1.31.0
|
|
||||||
// protoc v4.25.1
|
|
||||||
// source: proto/eth/v2/withdrawals.proto
|
|
||||||
|
|
||||||
package eth
|
|
||||||
|
|
||||||
import (
|
|
||||||
reflect "reflect"
|
|
||||||
sync "sync"
|
|
||||||
|
|
||||||
github_com_prysmaticlabs_prysm_v5_consensus_types_primitives "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives"
|
|
||||||
_ "github.com/prysmaticlabs/prysm/v5/proto/eth/ext"
|
|
||||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
||||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
// Verify that this generated code is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
||||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
||||||
)
|
|
||||||
|
|
||||||
type BLSToExecutionChange struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
ValidatorIndex github_com_prysmaticlabs_prysm_v5_consensus_types_primitives.ValidatorIndex `protobuf:"varint,1,opt,name=validator_index,json=validatorIndex,proto3" json:"validator_index,omitempty" cast-type:"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"`
|
|
||||||
FromBlsPubkey []byte `protobuf:"bytes,2,opt,name=from_bls_pubkey,json=fromBlsPubkey,proto3" json:"from_bls_pubkey,omitempty" ssz-size:"48"`
|
|
||||||
ToExecutionAddress []byte `protobuf:"bytes,3,opt,name=to_execution_address,json=toExecutionAddress,proto3" json:"to_execution_address,omitempty" ssz-size:"20"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *BLSToExecutionChange) Reset() {
|
|
||||||
*x = BLSToExecutionChange{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_proto_eth_v2_withdrawals_proto_msgTypes[0]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *BLSToExecutionChange) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*BLSToExecutionChange) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *BLSToExecutionChange) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_proto_eth_v2_withdrawals_proto_msgTypes[0]
|
|
||||||
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 BLSToExecutionChange.ProtoReflect.Descriptor instead.
|
|
||||||
func (*BLSToExecutionChange) Descriptor() ([]byte, []int) {
|
|
||||||
return file_proto_eth_v2_withdrawals_proto_rawDescGZIP(), []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *BLSToExecutionChange) GetValidatorIndex() github_com_prysmaticlabs_prysm_v5_consensus_types_primitives.ValidatorIndex {
|
|
||||||
if x != nil {
|
|
||||||
return x.ValidatorIndex
|
|
||||||
}
|
|
||||||
return github_com_prysmaticlabs_prysm_v5_consensus_types_primitives.ValidatorIndex(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *BLSToExecutionChange) GetFromBlsPubkey() []byte {
|
|
||||||
if x != nil {
|
|
||||||
return x.FromBlsPubkey
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *BLSToExecutionChange) GetToExecutionAddress() []byte {
|
|
||||||
if x != nil {
|
|
||||||
return x.ToExecutionAddress
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type SignedBLSToExecutionChange struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
Message *BLSToExecutionChange `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
|
|
||||||
Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty" ssz-size:"96"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SignedBLSToExecutionChange) Reset() {
|
|
||||||
*x = SignedBLSToExecutionChange{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_proto_eth_v2_withdrawals_proto_msgTypes[1]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SignedBLSToExecutionChange) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*SignedBLSToExecutionChange) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *SignedBLSToExecutionChange) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_proto_eth_v2_withdrawals_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 SignedBLSToExecutionChange.ProtoReflect.Descriptor instead.
|
|
||||||
func (*SignedBLSToExecutionChange) Descriptor() ([]byte, []int) {
|
|
||||||
return file_proto_eth_v2_withdrawals_proto_rawDescGZIP(), []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SignedBLSToExecutionChange) GetMessage() *BLSToExecutionChange {
|
|
||||||
if x != nil {
|
|
||||||
return x.Message
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SignedBLSToExecutionChange) GetSignature() []byte {
|
|
||||||
if x != nil {
|
|
||||||
return x.Signature
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var File_proto_eth_v2_withdrawals_proto protoreflect.FileDescriptor
|
|
||||||
|
|
||||||
var file_proto_eth_v2_withdrawals_proto_rawDesc = []byte{
|
|
||||||
0x0a, 0x1e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x77,
|
|
||||||
0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
||||||
0x12, 0x0f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76,
|
|
||||||
0x32, 0x1a, 0x1b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x65, 0x78, 0x74,
|
|
||||||
0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfa,
|
|
||||||
0x01, 0x0a, 0x14, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
|
|
||||||
0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x78, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64,
|
|
||||||
0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
|
|
||||||
0x42, 0x4f, 0x82, 0xb5, 0x18, 0x4b, 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, 0x70,
|
|
||||||
0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x35, 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, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65,
|
|
||||||
0x78, 0x52, 0x0e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65,
|
|
||||||
0x78, 0x12, 0x2e, 0x0a, 0x0f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x62, 0x6c, 0x73, 0x5f, 0x70, 0x75,
|
|
||||||
0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02,
|
|
||||||
0x34, 0x38, 0x52, 0x0d, 0x66, 0x72, 0x6f, 0x6d, 0x42, 0x6c, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65,
|
|
||||||
0x79, 0x12, 0x38, 0x0a, 0x14, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
|
|
||||||
0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42,
|
|
||||||
0x06, 0x8a, 0xb5, 0x18, 0x02, 0x32, 0x30, 0x52, 0x12, 0x74, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75,
|
|
||||||
0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x1a,
|
|
||||||
0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75,
|
|
||||||
0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x6d, 0x65,
|
|
||||||
0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x74,
|
|
||||||
0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x4c,
|
|
||||||
0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e,
|
|
||||||
0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x09, 0x73,
|
|
||||||
0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06,
|
|
||||||
0x8a, 0xb5, 0x18, 0x02, 0x39, 0x36, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
|
|
||||||
0x65, 0x42, 0x81, 0x01, 0x0a, 0x13, 0x6f, 0x72, 0x67, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65,
|
|
||||||
0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x42, 0x10, 0x57, 0x69, 0x74, 0x68, 0x64,
|
|
||||||
0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, 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, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x76, 0x35,
|
|
||||||
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x3b, 0x65, 0x74,
|
|
||||||
0x68, 0xaa, 0x02, 0x0f, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x45, 0x74, 0x68,
|
|
||||||
0x2e, 0x56, 0x32, 0xca, 0x02, 0x0f, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x5c, 0x45,
|
|
||||||
0x74, 0x68, 0x5c, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
file_proto_eth_v2_withdrawals_proto_rawDescOnce sync.Once
|
|
||||||
file_proto_eth_v2_withdrawals_proto_rawDescData = file_proto_eth_v2_withdrawals_proto_rawDesc
|
|
||||||
)
|
|
||||||
|
|
||||||
func file_proto_eth_v2_withdrawals_proto_rawDescGZIP() []byte {
|
|
||||||
file_proto_eth_v2_withdrawals_proto_rawDescOnce.Do(func() {
|
|
||||||
file_proto_eth_v2_withdrawals_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_eth_v2_withdrawals_proto_rawDescData)
|
|
||||||
})
|
|
||||||
return file_proto_eth_v2_withdrawals_proto_rawDescData
|
|
||||||
}
|
|
||||||
|
|
||||||
var file_proto_eth_v2_withdrawals_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
|
||||||
var file_proto_eth_v2_withdrawals_proto_goTypes = []interface{}{
|
|
||||||
(*BLSToExecutionChange)(nil), // 0: ethereum.eth.v2.BLSToExecutionChange
|
|
||||||
(*SignedBLSToExecutionChange)(nil), // 1: ethereum.eth.v2.SignedBLSToExecutionChange
|
|
||||||
}
|
|
||||||
var file_proto_eth_v2_withdrawals_proto_depIdxs = []int32{
|
|
||||||
0, // 0: ethereum.eth.v2.SignedBLSToExecutionChange.message:type_name -> ethereum.eth.v2.BLSToExecutionChange
|
|
||||||
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 extension type_name
|
|
||||||
1, // [1:1] is the sub-list for extension extendee
|
|
||||||
0, // [0:1] is the sub-list for field type_name
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() { file_proto_eth_v2_withdrawals_proto_init() }
|
|
||||||
func file_proto_eth_v2_withdrawals_proto_init() {
|
|
||||||
if File_proto_eth_v2_withdrawals_proto != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if !protoimpl.UnsafeEnabled {
|
|
||||||
file_proto_eth_v2_withdrawals_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*BLSToExecutionChange); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_proto_eth_v2_withdrawals_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*SignedBLSToExecutionChange); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
type x struct{}
|
|
||||||
out := protoimpl.TypeBuilder{
|
|
||||||
File: protoimpl.DescBuilder{
|
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
||||||
RawDescriptor: file_proto_eth_v2_withdrawals_proto_rawDesc,
|
|
||||||
NumEnums: 0,
|
|
||||||
NumMessages: 2,
|
|
||||||
NumExtensions: 0,
|
|
||||||
NumServices: 0,
|
|
||||||
},
|
|
||||||
GoTypes: file_proto_eth_v2_withdrawals_proto_goTypes,
|
|
||||||
DependencyIndexes: file_proto_eth_v2_withdrawals_proto_depIdxs,
|
|
||||||
MessageInfos: file_proto_eth_v2_withdrawals_proto_msgTypes,
|
|
||||||
}.Build()
|
|
||||||
File_proto_eth_v2_withdrawals_proto = out.File
|
|
||||||
file_proto_eth_v2_withdrawals_proto_rawDesc = nil
|
|
||||||
file_proto_eth_v2_withdrawals_proto_goTypes = nil
|
|
||||||
file_proto_eth_v2_withdrawals_proto_depIdxs = nil
|
|
||||||
}
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
// Copyright 2022 Prysmatic Labs.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
package ethereum.eth.v2;
|
|
||||||
|
|
||||||
import "proto/eth/ext/options.proto";
|
|
||||||
|
|
||||||
option csharp_namespace = "Ethereum.Eth.V2";
|
|
||||||
option go_package = "github.com/prysmaticlabs/prysm/v5/proto/eth/v2;eth";
|
|
||||||
option java_multiple_files = true;
|
|
||||||
option java_outer_classname = "WithdrawalsProto";
|
|
||||||
option java_package = "org.ethereum.eth.v2";
|
|
||||||
option php_namespace = "Ethereum\\Eth\\v2";
|
|
||||||
|
|
||||||
// The message requesting a BLS to execution withdrawal credentials change
|
|
||||||
message BLSToExecutionChange {
|
|
||||||
// The validator index requesting the change
|
|
||||||
uint64 validator_index = 1 [(ethereum.eth.ext.cast_type) = "github.com/prysmaticlabs/prysm/v5/consensus-types/primitives.ValidatorIndex"];
|
|
||||||
|
|
||||||
// The public key of the BLS address requesting the change
|
|
||||||
bytes from_bls_pubkey = 2 [(ethereum.eth.ext.ssz_size) = "48"];
|
|
||||||
|
|
||||||
// The new execution address to be the withdrawal credentials
|
|
||||||
bytes to_execution_address = 3 [(ethereum.eth.ext.ssz_size) = "20"];
|
|
||||||
}
|
|
||||||
|
|
||||||
// The signed version of a BLSToExecutionChange
|
|
||||||
message SignedBLSToExecutionChange {
|
|
||||||
// The BLSToExecutionChange message itself
|
|
||||||
BLSToExecutionChange message = 1;
|
|
||||||
|
|
||||||
// The 96 byte BLS signature from the withdrawal address requesting the change
|
|
||||||
bytes signature = 2 [(ethereum.eth.ext.ssz_size) = "96"];
|
|
||||||
}
|
|
||||||
@@ -5,14 +5,11 @@ go_library(
|
|||||||
srcs = [
|
srcs = [
|
||||||
"enums.go",
|
"enums.go",
|
||||||
"v1alpha1_to_v1.go",
|
"v1alpha1_to_v1.go",
|
||||||
"v1alpha1_to_v2.go",
|
|
||||||
],
|
],
|
||||||
importpath = "github.com/prysmaticlabs/prysm/v5/proto/migration",
|
importpath = "github.com/prysmaticlabs/prysm/v5/proto/migration",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"//encoding/bytesutil:go_default_library",
|
|
||||||
"//proto/eth/v1:go_default_library",
|
"//proto/eth/v1:go_default_library",
|
||||||
"//proto/eth/v2:go_default_library",
|
|
||||||
"//proto/prysm/v1alpha1:go_default_library",
|
"//proto/prysm/v1alpha1:go_default_library",
|
||||||
"@com_github_pkg_errors//:go_default_library",
|
"@com_github_pkg_errors//:go_default_library",
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
package migration
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/prysmaticlabs/prysm/v5/encoding/bytesutil"
|
|
||||||
ethpbv2 "github.com/prysmaticlabs/prysm/v5/proto/eth/v2"
|
|
||||||
ethpbalpha "github.com/prysmaticlabs/prysm/v5/proto/prysm/v1alpha1"
|
|
||||||
)
|
|
||||||
|
|
||||||
// V1Alpha1SyncCommitteeToV2 converts a v1alpha1 SyncCommittee object to its v2 equivalent.
|
|
||||||
func V1Alpha1SyncCommitteeToV2(alphaCommittee *ethpbalpha.SyncCommittee) *ethpbv2.SyncCommittee {
|
|
||||||
if alphaCommittee == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
result := ðpbv2.SyncCommittee{
|
|
||||||
Pubkeys: bytesutil.SafeCopy2dBytes(alphaCommittee.Pubkeys),
|
|
||||||
AggregatePubkey: bytesutil.SafeCopyBytes(alphaCommittee.AggregatePubkey),
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
func V2SyncCommitteeToV1Alpha1(committee *ethpbv2.SyncCommittee) *ethpbalpha.SyncCommittee {
|
|
||||||
if committee == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
result := ðpbalpha.SyncCommittee{
|
|
||||||
Pubkeys: bytesutil.SafeCopy2dBytes(committee.Pubkeys),
|
|
||||||
AggregatePubkey: bytesutil.SafeCopyBytes(committee.AggregatePubkey),
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
@@ -57,7 +57,6 @@ go_library(
|
|||||||
"//network/forks:go_default_library",
|
"//network/forks:go_default_library",
|
||||||
"//proto/engine/v1:go_default_library",
|
"//proto/engine/v1:go_default_library",
|
||||||
"//proto/eth/v1:go_default_library",
|
"//proto/eth/v1:go_default_library",
|
||||||
"//proto/eth/v2:go_default_library",
|
|
||||||
"//proto/prysm/v1alpha1:go_default_library",
|
"//proto/prysm/v1alpha1:go_default_library",
|
||||||
"//runtime/interop:go_default_library",
|
"//runtime/interop:go_default_library",
|
||||||
"//runtime/version:go_default_library",
|
"//runtime/version:go_default_library",
|
||||||
@@ -106,7 +105,6 @@ go_test(
|
|||||||
"//encoding/bytesutil:go_default_library",
|
"//encoding/bytesutil:go_default_library",
|
||||||
"//encoding/ssz:go_default_library",
|
"//encoding/ssz:go_default_library",
|
||||||
"//proto/eth/v1:go_default_library",
|
"//proto/eth/v1:go_default_library",
|
||||||
"//proto/eth/v2:go_default_library",
|
|
||||||
"//proto/prysm/v1alpha1:go_default_library",
|
"//proto/prysm/v1alpha1:go_default_library",
|
||||||
"//testing/assert:go_default_library",
|
"//testing/assert:go_default_library",
|
||||||
"//testing/require:go_default_library",
|
"//testing/require:go_default_library",
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ import (
|
|||||||
"github.com/prysmaticlabs/prysm/v5/encoding/bytesutil"
|
"github.com/prysmaticlabs/prysm/v5/encoding/bytesutil"
|
||||||
enginev1 "github.com/prysmaticlabs/prysm/v5/proto/engine/v1"
|
enginev1 "github.com/prysmaticlabs/prysm/v5/proto/engine/v1"
|
||||||
v1 "github.com/prysmaticlabs/prysm/v5/proto/eth/v1"
|
v1 "github.com/prysmaticlabs/prysm/v5/proto/eth/v1"
|
||||||
v2 "github.com/prysmaticlabs/prysm/v5/proto/eth/v2"
|
|
||||||
ethpb "github.com/prysmaticlabs/prysm/v5/proto/prysm/v1alpha1"
|
ethpb "github.com/prysmaticlabs/prysm/v5/proto/prysm/v1alpha1"
|
||||||
"github.com/prysmaticlabs/prysm/v5/runtime/version"
|
"github.com/prysmaticlabs/prysm/v5/runtime/version"
|
||||||
"github.com/prysmaticlabs/prysm/v5/testing/assertions"
|
"github.com/prysmaticlabs/prysm/v5/testing/assertions"
|
||||||
@@ -655,126 +654,6 @@ func HydrateV1BeaconBlockBody(b *v1.BeaconBlockBody) *v1.BeaconBlockBody {
|
|||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
// HydrateV2AltairSignedBeaconBlock hydrates a signed beacon block with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2AltairSignedBeaconBlock(b *v2.SignedBeaconBlockAltair) *v2.SignedBeaconBlockAltair {
|
|
||||||
if b.Signature == nil {
|
|
||||||
b.Signature = make([]byte, fieldparams.BLSSignatureLength)
|
|
||||||
}
|
|
||||||
b.Message = HydrateV2AltairBeaconBlock(b.Message)
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HydrateV2AltairBeaconBlock hydrates a beacon block with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2AltairBeaconBlock(b *v2.BeaconBlockAltair) *v2.BeaconBlockAltair {
|
|
||||||
if b == nil {
|
|
||||||
b = &v2.BeaconBlockAltair{}
|
|
||||||
}
|
|
||||||
if b.ParentRoot == nil {
|
|
||||||
b.ParentRoot = make([]byte, fieldparams.RootLength)
|
|
||||||
}
|
|
||||||
if b.StateRoot == nil {
|
|
||||||
b.StateRoot = make([]byte, fieldparams.RootLength)
|
|
||||||
}
|
|
||||||
b.Body = HydrateV2AltairBeaconBlockBody(b.Body)
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HydrateV2AltairBeaconBlockBody hydrates a beacon block body with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2AltairBeaconBlockBody(b *v2.BeaconBlockBodyAltair) *v2.BeaconBlockBodyAltair {
|
|
||||||
if b == nil {
|
|
||||||
b = &v2.BeaconBlockBodyAltair{}
|
|
||||||
}
|
|
||||||
if b.RandaoReveal == nil {
|
|
||||||
b.RandaoReveal = make([]byte, fieldparams.BLSSignatureLength)
|
|
||||||
}
|
|
||||||
if b.Graffiti == nil {
|
|
||||||
b.Graffiti = make([]byte, fieldparams.RootLength)
|
|
||||||
}
|
|
||||||
if b.Eth1Data == nil {
|
|
||||||
b.Eth1Data = &v1.Eth1Data{
|
|
||||||
DepositRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
BlockHash: make([]byte, fieldparams.RootLength),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if b.SyncAggregate == nil {
|
|
||||||
b.SyncAggregate = &v1.SyncAggregate{
|
|
||||||
SyncCommitteeBits: make([]byte, 64),
|
|
||||||
SyncCommitteeSignature: make([]byte, fieldparams.BLSSignatureLength),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HydrateV2BellatrixSignedBeaconBlock hydrates a signed beacon block with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2BellatrixSignedBeaconBlock(b *v2.SignedBeaconBlockBellatrix) *v2.SignedBeaconBlockBellatrix {
|
|
||||||
if b.Signature == nil {
|
|
||||||
b.Signature = make([]byte, fieldparams.BLSSignatureLength)
|
|
||||||
}
|
|
||||||
b.Message = HydrateV2BellatrixBeaconBlock(b.Message)
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HydrateV2BellatrixBeaconBlock hydrates a beacon block with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2BellatrixBeaconBlock(b *v2.BeaconBlockBellatrix) *v2.BeaconBlockBellatrix {
|
|
||||||
if b == nil {
|
|
||||||
b = &v2.BeaconBlockBellatrix{}
|
|
||||||
}
|
|
||||||
if b.ParentRoot == nil {
|
|
||||||
b.ParentRoot = make([]byte, fieldparams.RootLength)
|
|
||||||
}
|
|
||||||
if b.StateRoot == nil {
|
|
||||||
b.StateRoot = make([]byte, fieldparams.RootLength)
|
|
||||||
}
|
|
||||||
b.Body = HydrateV2BellatrixBeaconBlockBody(b.Body)
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HydrateV2BellatrixBeaconBlockBody hydrates a beacon block body with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2BellatrixBeaconBlockBody(b *v2.BeaconBlockBodyBellatrix) *v2.BeaconBlockBodyBellatrix {
|
|
||||||
if b == nil {
|
|
||||||
b = &v2.BeaconBlockBodyBellatrix{}
|
|
||||||
}
|
|
||||||
if b.RandaoReveal == nil {
|
|
||||||
b.RandaoReveal = make([]byte, fieldparams.BLSSignatureLength)
|
|
||||||
}
|
|
||||||
if b.Graffiti == nil {
|
|
||||||
b.Graffiti = make([]byte, fieldparams.RootLength)
|
|
||||||
}
|
|
||||||
if b.Eth1Data == nil {
|
|
||||||
b.Eth1Data = &v1.Eth1Data{
|
|
||||||
DepositRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
BlockHash: make([]byte, fieldparams.RootLength),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if b.SyncAggregate == nil {
|
|
||||||
b.SyncAggregate = &v1.SyncAggregate{
|
|
||||||
SyncCommitteeBits: make([]byte, 64),
|
|
||||||
SyncCommitteeSignature: make([]byte, fieldparams.BLSSignatureLength),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if b.ExecutionPayload == nil {
|
|
||||||
b.ExecutionPayload = &enginev1.ExecutionPayload{
|
|
||||||
ParentHash: make([]byte, fieldparams.RootLength),
|
|
||||||
FeeRecipient: make([]byte, 20),
|
|
||||||
StateRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
ReceiptsRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
LogsBloom: make([]byte, 256),
|
|
||||||
PrevRandao: make([]byte, fieldparams.RootLength),
|
|
||||||
ExtraData: make([]byte, 0),
|
|
||||||
BaseFeePerGas: make([]byte, fieldparams.RootLength),
|
|
||||||
BlockHash: make([]byte, fieldparams.RootLength),
|
|
||||||
Transactions: make([][]byte, 0),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HydrateSignedBeaconBlockAltair hydrates a signed beacon block with correct field length sizes
|
// HydrateSignedBeaconBlockAltair hydrates a signed beacon block with correct field length sizes
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
// to comply with fssz marshalling and unmarshalling rules.
|
||||||
func HydrateSignedBeaconBlockAltair(b *ethpb.SignedBeaconBlockAltair) *ethpb.SignedBeaconBlockAltair {
|
func HydrateSignedBeaconBlockAltair(b *ethpb.SignedBeaconBlockAltair) *ethpb.SignedBeaconBlockAltair {
|
||||||
@@ -962,73 +841,6 @@ func HydrateBlindedBeaconBlockBodyBellatrix(b *ethpb.BlindedBeaconBlockBodyBella
|
|||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
// HydrateV2SignedBlindedBeaconBlockBellatrix hydrates a signed blinded beacon block with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2SignedBlindedBeaconBlockBellatrix(b *v2.SignedBlindedBeaconBlockBellatrix) *v2.SignedBlindedBeaconBlockBellatrix {
|
|
||||||
if b.Signature == nil {
|
|
||||||
b.Signature = make([]byte, fieldparams.BLSSignatureLength)
|
|
||||||
}
|
|
||||||
b.Message = HydrateV2BlindedBeaconBlockBellatrix(b.Message)
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HydrateV2BlindedBeaconBlockBellatrix hydrates a blinded beacon block with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2BlindedBeaconBlockBellatrix(b *v2.BlindedBeaconBlockBellatrix) *v2.BlindedBeaconBlockBellatrix {
|
|
||||||
if b == nil {
|
|
||||||
b = &v2.BlindedBeaconBlockBellatrix{}
|
|
||||||
}
|
|
||||||
if b.ParentRoot == nil {
|
|
||||||
b.ParentRoot = make([]byte, fieldparams.RootLength)
|
|
||||||
}
|
|
||||||
if b.StateRoot == nil {
|
|
||||||
b.StateRoot = make([]byte, fieldparams.RootLength)
|
|
||||||
}
|
|
||||||
b.Body = HydrateV2BlindedBeaconBlockBodyBellatrix(b.Body)
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HydrateV2BlindedBeaconBlockBodyBellatrix hydrates a blinded beacon block body with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2BlindedBeaconBlockBodyBellatrix(b *v2.BlindedBeaconBlockBodyBellatrix) *v2.BlindedBeaconBlockBodyBellatrix {
|
|
||||||
if b == nil {
|
|
||||||
b = &v2.BlindedBeaconBlockBodyBellatrix{}
|
|
||||||
}
|
|
||||||
if b.RandaoReveal == nil {
|
|
||||||
b.RandaoReveal = make([]byte, fieldparams.BLSSignatureLength)
|
|
||||||
}
|
|
||||||
if b.Graffiti == nil {
|
|
||||||
b.Graffiti = make([]byte, 32)
|
|
||||||
}
|
|
||||||
if b.Eth1Data == nil {
|
|
||||||
b.Eth1Data = &v1.Eth1Data{
|
|
||||||
DepositRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
BlockHash: make([]byte, 32),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if b.SyncAggregate == nil {
|
|
||||||
b.SyncAggregate = &v1.SyncAggregate{
|
|
||||||
SyncCommitteeBits: make([]byte, 64),
|
|
||||||
SyncCommitteeSignature: make([]byte, fieldparams.BLSSignatureLength),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if b.ExecutionPayloadHeader == nil {
|
|
||||||
b.ExecutionPayloadHeader = &enginev1.ExecutionPayloadHeader{
|
|
||||||
ParentHash: make([]byte, 32),
|
|
||||||
FeeRecipient: make([]byte, 20),
|
|
||||||
StateRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
ReceiptsRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
LogsBloom: make([]byte, 256),
|
|
||||||
PrevRandao: make([]byte, 32),
|
|
||||||
ExtraData: make([]byte, 0),
|
|
||||||
BaseFeePerGas: make([]byte, 32),
|
|
||||||
BlockHash: make([]byte, 32),
|
|
||||||
TransactionsRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HydrateSignedBeaconBlockCapella hydrates a signed beacon block with correct field length sizes
|
// HydrateSignedBeaconBlockCapella hydrates a signed beacon block with correct field length sizes
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
// to comply with fssz marshalling and unmarshalling rules.
|
||||||
func HydrateSignedBeaconBlockCapella(b *ethpb.SignedBeaconBlockCapella) *ethpb.SignedBeaconBlockCapella {
|
func HydrateSignedBeaconBlockCapella(b *ethpb.SignedBeaconBlockCapella) *ethpb.SignedBeaconBlockCapella {
|
||||||
@@ -1165,74 +977,6 @@ func HydrateBlindedBeaconBlockBodyCapella(b *ethpb.BlindedBeaconBlockBodyCapella
|
|||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
// HydrateV2SignedBlindedBeaconBlockCapella hydrates a signed blinded beacon block with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2SignedBlindedBeaconBlockCapella(b *v2.SignedBlindedBeaconBlockCapella) *v2.SignedBlindedBeaconBlockCapella {
|
|
||||||
if b.Signature == nil {
|
|
||||||
b.Signature = make([]byte, fieldparams.BLSSignatureLength)
|
|
||||||
}
|
|
||||||
b.Message = HydrateV2BlindedBeaconBlockCapella(b.Message)
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HydrateV2BlindedBeaconBlockCapella hydrates a blinded beacon block with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2BlindedBeaconBlockCapella(b *v2.BlindedBeaconBlockCapella) *v2.BlindedBeaconBlockCapella {
|
|
||||||
if b == nil {
|
|
||||||
b = &v2.BlindedBeaconBlockCapella{}
|
|
||||||
}
|
|
||||||
if b.ParentRoot == nil {
|
|
||||||
b.ParentRoot = make([]byte, fieldparams.RootLength)
|
|
||||||
}
|
|
||||||
if b.StateRoot == nil {
|
|
||||||
b.StateRoot = make([]byte, fieldparams.RootLength)
|
|
||||||
}
|
|
||||||
b.Body = HydrateV2BlindedBeaconBlockBodyCapella(b.Body)
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HydrateV2BlindedBeaconBlockBodyCapella hydrates a blinded beacon block body with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2BlindedBeaconBlockBodyCapella(b *v2.BlindedBeaconBlockBodyCapella) *v2.BlindedBeaconBlockBodyCapella {
|
|
||||||
if b == nil {
|
|
||||||
b = &v2.BlindedBeaconBlockBodyCapella{}
|
|
||||||
}
|
|
||||||
if b.RandaoReveal == nil {
|
|
||||||
b.RandaoReveal = make([]byte, fieldparams.BLSSignatureLength)
|
|
||||||
}
|
|
||||||
if b.Graffiti == nil {
|
|
||||||
b.Graffiti = make([]byte, 32)
|
|
||||||
}
|
|
||||||
if b.Eth1Data == nil {
|
|
||||||
b.Eth1Data = &v1.Eth1Data{
|
|
||||||
DepositRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
BlockHash: make([]byte, 32),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if b.SyncAggregate == nil {
|
|
||||||
b.SyncAggregate = &v1.SyncAggregate{
|
|
||||||
SyncCommitteeBits: make([]byte, 64),
|
|
||||||
SyncCommitteeSignature: make([]byte, fieldparams.BLSSignatureLength),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if b.ExecutionPayloadHeader == nil {
|
|
||||||
b.ExecutionPayloadHeader = &enginev1.ExecutionPayloadHeaderCapella{
|
|
||||||
ParentHash: make([]byte, 32),
|
|
||||||
FeeRecipient: make([]byte, 20),
|
|
||||||
StateRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
ReceiptsRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
LogsBloom: make([]byte, 256),
|
|
||||||
PrevRandao: make([]byte, 32),
|
|
||||||
ExtraData: make([]byte, 0),
|
|
||||||
BaseFeePerGas: make([]byte, 32),
|
|
||||||
BlockHash: make([]byte, 32),
|
|
||||||
TransactionsRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
WithdrawalsRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
func SaveBlock(tb assertions.AssertionTestingTB, ctx context.Context, db iface.NoHeadAccessDatabase, b interface{}) interfaces.SignedBeaconBlock {
|
func SaveBlock(tb assertions.AssertionTestingTB, ctx context.Context, db iface.NoHeadAccessDatabase, b interface{}) interfaces.SignedBeaconBlock {
|
||||||
wsb, err := blocks.NewSignedBeaconBlock(b)
|
wsb, err := blocks.NewSignedBeaconBlock(b)
|
||||||
require.NoError(tb, err)
|
require.NoError(tb, err)
|
||||||
@@ -1280,16 +1024,6 @@ func HydrateSignedBeaconBlockContentsElectra(b *ethpb.SignedBeaconBlockContentsE
|
|||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
// HydrateV2SignedBeaconBlockDeneb hydrates a v2 signed beacon block with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2SignedBeaconBlockDeneb(b *v2.SignedBeaconBlockDeneb) *v2.SignedBeaconBlockDeneb {
|
|
||||||
if b.Signature == nil {
|
|
||||||
b.Signature = make([]byte, fieldparams.BLSSignatureLength)
|
|
||||||
}
|
|
||||||
b.Message = HydrateV2BeaconBlockDeneb(b.Message)
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HydrateBeaconBlockDeneb hydrates a beacon block with correct field length sizes
|
// HydrateBeaconBlockDeneb hydrates a beacon block with correct field length sizes
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
// to comply with fssz marshalling and unmarshalling rules.
|
||||||
func HydrateBeaconBlockDeneb(b *ethpb.BeaconBlockDeneb) *ethpb.BeaconBlockDeneb {
|
func HydrateBeaconBlockDeneb(b *ethpb.BeaconBlockDeneb) *ethpb.BeaconBlockDeneb {
|
||||||
@@ -1322,22 +1056,6 @@ func HydrateBeaconBlockElectra(b *ethpb.BeaconBlockElectra) *ethpb.BeaconBlockEl
|
|||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
// HydrateV2BeaconBlockDeneb hydrates a v2 beacon block with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2BeaconBlockDeneb(b *v2.BeaconBlockDeneb) *v2.BeaconBlockDeneb {
|
|
||||||
if b == nil {
|
|
||||||
b = &v2.BeaconBlockDeneb{}
|
|
||||||
}
|
|
||||||
if b.ParentRoot == nil {
|
|
||||||
b.ParentRoot = make([]byte, fieldparams.RootLength)
|
|
||||||
}
|
|
||||||
if b.StateRoot == nil {
|
|
||||||
b.StateRoot = make([]byte, fieldparams.RootLength)
|
|
||||||
}
|
|
||||||
b.Body = HydrateV2BeaconBlockBodyDeneb(b.Body)
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HydrateBeaconBlockBodyDeneb hydrates a beacon block body with correct field length sizes
|
// HydrateBeaconBlockBodyDeneb hydrates a beacon block body with correct field length sizes
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
// to comply with fssz marshalling and unmarshalling rules.
|
||||||
func HydrateBeaconBlockBodyDeneb(b *ethpb.BeaconBlockBodyDeneb) *ethpb.BeaconBlockBodyDeneb {
|
func HydrateBeaconBlockBodyDeneb(b *ethpb.BeaconBlockBodyDeneb) *ethpb.BeaconBlockBodyDeneb {
|
||||||
@@ -1441,48 +1159,6 @@ func HydrateExecutionRequests(e *enginev1.ExecutionRequests) *enginev1.Execution
|
|||||||
return e
|
return e
|
||||||
}
|
}
|
||||||
|
|
||||||
// HydrateV2BeaconBlockBodyDeneb hydrates a v2 beacon block body with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2BeaconBlockBodyDeneb(b *v2.BeaconBlockBodyDeneb) *v2.BeaconBlockBodyDeneb {
|
|
||||||
if b == nil {
|
|
||||||
b = &v2.BeaconBlockBodyDeneb{}
|
|
||||||
}
|
|
||||||
if b.RandaoReveal == nil {
|
|
||||||
b.RandaoReveal = make([]byte, fieldparams.BLSSignatureLength)
|
|
||||||
}
|
|
||||||
if b.Graffiti == nil {
|
|
||||||
b.Graffiti = make([]byte, fieldparams.RootLength)
|
|
||||||
}
|
|
||||||
if b.Eth1Data == nil {
|
|
||||||
b.Eth1Data = &v1.Eth1Data{
|
|
||||||
DepositRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
BlockHash: make([]byte, fieldparams.RootLength),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if b.SyncAggregate == nil {
|
|
||||||
b.SyncAggregate = &v1.SyncAggregate{
|
|
||||||
SyncCommitteeBits: make([]byte, fieldparams.SyncAggregateSyncCommitteeBytesLength),
|
|
||||||
SyncCommitteeSignature: make([]byte, fieldparams.BLSSignatureLength),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if b.ExecutionPayload == nil {
|
|
||||||
b.ExecutionPayload = &enginev1.ExecutionPayloadDeneb{
|
|
||||||
ParentHash: make([]byte, fieldparams.RootLength),
|
|
||||||
FeeRecipient: make([]byte, 20),
|
|
||||||
StateRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
ReceiptsRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
LogsBloom: make([]byte, 256),
|
|
||||||
PrevRandao: make([]byte, fieldparams.RootLength),
|
|
||||||
ExtraData: make([]byte, 0),
|
|
||||||
BaseFeePerGas: make([]byte, fieldparams.RootLength),
|
|
||||||
BlockHash: make([]byte, fieldparams.RootLength),
|
|
||||||
Transactions: make([][]byte, 0),
|
|
||||||
Withdrawals: make([]*enginev1.Withdrawal, 0),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HydrateSignedBlindedBeaconBlockDeneb hydrates a signed blinded beacon block with correct field length sizes
|
// HydrateSignedBlindedBeaconBlockDeneb hydrates a signed blinded beacon block with correct field length sizes
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
// to comply with fssz marshalling and unmarshalling rules.
|
||||||
func HydrateSignedBlindedBeaconBlockDeneb(b *ethpb.SignedBlindedBeaconBlockDeneb) *ethpb.SignedBlindedBeaconBlockDeneb {
|
func HydrateSignedBlindedBeaconBlockDeneb(b *ethpb.SignedBlindedBeaconBlockDeneb) *ethpb.SignedBlindedBeaconBlockDeneb {
|
||||||
@@ -1503,16 +1179,6 @@ func HydrateSignedBlindedBeaconBlockElectra(b *ethpb.SignedBlindedBeaconBlockEle
|
|||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
// HydrateV2SignedBlindedBeaconBlockDeneb hydrates a signed v2 blinded beacon block with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2SignedBlindedBeaconBlockDeneb(b *v2.SignedBlindedBeaconBlockDeneb) *v2.SignedBlindedBeaconBlockDeneb {
|
|
||||||
if b.Signature == nil {
|
|
||||||
b.Signature = make([]byte, fieldparams.BLSSignatureLength)
|
|
||||||
}
|
|
||||||
b.Message = HydrateV2BlindedBeaconBlockDeneb(b.Message)
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HydrateBlindedBeaconBlockDeneb hydrates a blinded beacon block with correct field length sizes
|
// HydrateBlindedBeaconBlockDeneb hydrates a blinded beacon block with correct field length sizes
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
// to comply with fssz marshalling and unmarshalling rules.
|
||||||
func HydrateBlindedBeaconBlockDeneb(b *ethpb.BlindedBeaconBlockDeneb) *ethpb.BlindedBeaconBlockDeneb {
|
func HydrateBlindedBeaconBlockDeneb(b *ethpb.BlindedBeaconBlockDeneb) *ethpb.BlindedBeaconBlockDeneb {
|
||||||
@@ -1545,22 +1211,6 @@ func HydrateBlindedBeaconBlockElectra(b *ethpb.BlindedBeaconBlockElectra) *ethpb
|
|||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
// HydrateV2BlindedBeaconBlockDeneb hydrates a v2 blinded beacon block with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2BlindedBeaconBlockDeneb(b *v2.BlindedBeaconBlockDeneb) *v2.BlindedBeaconBlockDeneb {
|
|
||||||
if b == nil {
|
|
||||||
b = &v2.BlindedBeaconBlockDeneb{}
|
|
||||||
}
|
|
||||||
if b.ParentRoot == nil {
|
|
||||||
b.ParentRoot = make([]byte, fieldparams.RootLength)
|
|
||||||
}
|
|
||||||
if b.StateRoot == nil {
|
|
||||||
b.StateRoot = make([]byte, fieldparams.RootLength)
|
|
||||||
}
|
|
||||||
b.Body = HydrateV2BlindedBeaconBlockBodyDeneb(b.Body)
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HydrateBlindedBeaconBlockBodyDeneb hydrates a blinded beacon block body with correct field length sizes
|
// HydrateBlindedBeaconBlockBodyDeneb hydrates a blinded beacon block body with correct field length sizes
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
// to comply with fssz marshalling and unmarshalling rules.
|
||||||
func HydrateBlindedBeaconBlockBodyDeneb(b *ethpb.BlindedBeaconBlockBodyDeneb) *ethpb.BlindedBeaconBlockBodyDeneb {
|
func HydrateBlindedBeaconBlockBodyDeneb(b *ethpb.BlindedBeaconBlockBodyDeneb) *ethpb.BlindedBeaconBlockBodyDeneb {
|
||||||
@@ -1645,45 +1295,3 @@ func HydrateBlindedBeaconBlockBodyElectra(b *ethpb.BlindedBeaconBlockBodyElectra
|
|||||||
b.ExecutionRequests = HydrateExecutionRequests(b.ExecutionRequests)
|
b.ExecutionRequests = HydrateExecutionRequests(b.ExecutionRequests)
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
// HydrateV2BlindedBeaconBlockBodyDeneb hydrates a blinded v2 beacon block body with correct field length sizes
|
|
||||||
// to comply with fssz marshalling and unmarshalling rules.
|
|
||||||
func HydrateV2BlindedBeaconBlockBodyDeneb(b *v2.BlindedBeaconBlockBodyDeneb) *v2.BlindedBeaconBlockBodyDeneb {
|
|
||||||
if b == nil {
|
|
||||||
b = &v2.BlindedBeaconBlockBodyDeneb{}
|
|
||||||
}
|
|
||||||
if b.RandaoReveal == nil {
|
|
||||||
b.RandaoReveal = make([]byte, fieldparams.BLSSignatureLength)
|
|
||||||
}
|
|
||||||
if b.Graffiti == nil {
|
|
||||||
b.Graffiti = make([]byte, 32)
|
|
||||||
}
|
|
||||||
if b.Eth1Data == nil {
|
|
||||||
b.Eth1Data = &v1.Eth1Data{
|
|
||||||
DepositRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
BlockHash: make([]byte, 32),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if b.SyncAggregate == nil {
|
|
||||||
b.SyncAggregate = &v1.SyncAggregate{
|
|
||||||
SyncCommitteeBits: make([]byte, fieldparams.SyncAggregateSyncCommitteeBytesLength),
|
|
||||||
SyncCommitteeSignature: make([]byte, fieldparams.BLSSignatureLength),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if b.ExecutionPayloadHeader == nil {
|
|
||||||
b.ExecutionPayloadHeader = &enginev1.ExecutionPayloadHeaderDeneb{
|
|
||||||
ParentHash: make([]byte, 32),
|
|
||||||
FeeRecipient: make([]byte, 20),
|
|
||||||
StateRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
ReceiptsRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
LogsBloom: make([]byte, 256),
|
|
||||||
PrevRandao: make([]byte, 32),
|
|
||||||
ExtraData: make([]byte, 0),
|
|
||||||
BaseFeePerGas: make([]byte, 32),
|
|
||||||
BlockHash: make([]byte, 32),
|
|
||||||
TransactionsRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
WithdrawalsRoot: make([]byte, fieldparams.RootLength),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ import (
|
|||||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives"
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives"
|
||||||
"github.com/prysmaticlabs/prysm/v5/encoding/bytesutil"
|
"github.com/prysmaticlabs/prysm/v5/encoding/bytesutil"
|
||||||
ethpbv1 "github.com/prysmaticlabs/prysm/v5/proto/eth/v1"
|
ethpbv1 "github.com/prysmaticlabs/prysm/v5/proto/eth/v1"
|
||||||
ethpbv2 "github.com/prysmaticlabs/prysm/v5/proto/eth/v2"
|
|
||||||
ethpbalpha "github.com/prysmaticlabs/prysm/v5/proto/prysm/v1alpha1"
|
ethpbalpha "github.com/prysmaticlabs/prysm/v5/proto/prysm/v1alpha1"
|
||||||
"github.com/prysmaticlabs/prysm/v5/testing/require"
|
"github.com/prysmaticlabs/prysm/v5/testing/require"
|
||||||
)
|
)
|
||||||
@@ -216,28 +215,6 @@ func TestHydrateV1SignedBeaconBlock_NoError(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestHydrateV2AltairSignedBeaconBlock_NoError(t *testing.T) {
|
|
||||||
b := ðpbv2.SignedBeaconBlockAltair{}
|
|
||||||
b = HydrateV2AltairSignedBeaconBlock(b)
|
|
||||||
_, err := b.HashTreeRoot()
|
|
||||||
require.NoError(t, err)
|
|
||||||
_, err = b.Message.HashTreeRoot()
|
|
||||||
require.NoError(t, err)
|
|
||||||
_, err = b.Message.Body.HashTreeRoot()
|
|
||||||
require.NoError(t, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestHydrateV2BellatrixSignedBeaconBlock_NoError(t *testing.T) {
|
|
||||||
b := ðpbv2.SignedBeaconBlockBellatrix{}
|
|
||||||
b = HydrateV2BellatrixSignedBeaconBlock(b)
|
|
||||||
_, err := b.HashTreeRoot()
|
|
||||||
require.NoError(t, err)
|
|
||||||
_, err = b.Message.HashTreeRoot()
|
|
||||||
require.NoError(t, err)
|
|
||||||
_, err = b.Message.Body.HashTreeRoot()
|
|
||||||
require.NoError(t, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestHydrateSignedBeaconBlockAltair_NoError(t *testing.T) {
|
func TestHydrateSignedBeaconBlockAltair_NoError(t *testing.T) {
|
||||||
b := ðpbalpha.SignedBeaconBlockAltair{}
|
b := ðpbalpha.SignedBeaconBlockAltair{}
|
||||||
b = HydrateSignedBeaconBlockAltair(b)
|
b = HydrateSignedBeaconBlockAltair(b)
|
||||||
@@ -278,33 +255,6 @@ func TestHydrateBlindedBeaconBlockBodyBellatrix_NoError(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestHydrateV2SignedBlindedBeaconBlockBellatrix_NoError(t *testing.T) {
|
|
||||||
b := ðpbv2.SignedBlindedBeaconBlockBellatrix{}
|
|
||||||
b = HydrateV2SignedBlindedBeaconBlockBellatrix(b)
|
|
||||||
_, err := b.HashTreeRoot()
|
|
||||||
require.NoError(t, err)
|
|
||||||
_, err = b.Message.HashTreeRoot()
|
|
||||||
require.NoError(t, err)
|
|
||||||
_, err = b.Message.Body.HashTreeRoot()
|
|
||||||
require.NoError(t, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestHydrateV2BlindedBeaconBlockBellatrix_NoError(t *testing.T) {
|
|
||||||
b := ðpbv2.BlindedBeaconBlockBellatrix{}
|
|
||||||
b = HydrateV2BlindedBeaconBlockBellatrix(b)
|
|
||||||
_, err := b.HashTreeRoot()
|
|
||||||
require.NoError(t, err)
|
|
||||||
_, err = b.Body.HashTreeRoot()
|
|
||||||
require.NoError(t, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestHydrateV2BlindedBeaconBlockBodyBellatrix_NoError(t *testing.T) {
|
|
||||||
b := ðpbv2.BlindedBeaconBlockBodyBellatrix{}
|
|
||||||
b = HydrateV2BlindedBeaconBlockBodyBellatrix(b)
|
|
||||||
_, err := b.HashTreeRoot()
|
|
||||||
require.NoError(t, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestHydrateSignedBeaconBlockCapella_NoError(t *testing.T) {
|
func TestHydrateSignedBeaconBlockCapella_NoError(t *testing.T) {
|
||||||
b := ðpbalpha.SignedBeaconBlockCapella{}
|
b := ðpbalpha.SignedBeaconBlockCapella{}
|
||||||
b = HydrateSignedBeaconBlockCapella(b)
|
b = HydrateSignedBeaconBlockCapella(b)
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package util
|
package util
|
||||||
|
|
||||||
import (
|
import (
|
||||||
v2 "github.com/prysmaticlabs/prysm/v5/proto/eth/v2"
|
|
||||||
ethpb "github.com/prysmaticlabs/prysm/v5/proto/prysm/v1alpha1"
|
ethpb "github.com/prysmaticlabs/prysm/v5/proto/prysm/v1alpha1"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -15,11 +14,6 @@ func NewBlindedBeaconBlockBellatrix() *ethpb.SignedBlindedBeaconBlockBellatrix {
|
|||||||
return HydrateSignedBlindedBeaconBlockBellatrix(ðpb.SignedBlindedBeaconBlockBellatrix{})
|
return HydrateSignedBlindedBeaconBlockBellatrix(ðpb.SignedBlindedBeaconBlockBellatrix{})
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewBlindedBeaconBlockBellatrixV2 creates a blinded beacon block with minimum marshalable fields.
|
|
||||||
func NewBlindedBeaconBlockBellatrixV2() *v2.SignedBlindedBeaconBlockBellatrix {
|
|
||||||
return HydrateV2SignedBlindedBeaconBlockBellatrix(&v2.SignedBlindedBeaconBlockBellatrix{})
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewBeaconBlockCapella creates a beacon block with minimum marshalable fields.
|
// NewBeaconBlockCapella creates a beacon block with minimum marshalable fields.
|
||||||
func NewBeaconBlockCapella() *ethpb.SignedBeaconBlockCapella {
|
func NewBeaconBlockCapella() *ethpb.SignedBeaconBlockCapella {
|
||||||
return HydrateSignedBeaconBlockCapella(ðpb.SignedBeaconBlockCapella{})
|
return HydrateSignedBeaconBlockCapella(ðpb.SignedBeaconBlockCapella{})
|
||||||
@@ -59,8 +53,3 @@ func NewBeaconBlockContentsElectra() *ethpb.SignedBeaconBlockContentsElectra {
|
|||||||
func NewBlindedBeaconBlockElectra() *ethpb.SignedBlindedBeaconBlockElectra {
|
func NewBlindedBeaconBlockElectra() *ethpb.SignedBlindedBeaconBlockElectra {
|
||||||
return HydrateSignedBlindedBeaconBlockElectra(ðpb.SignedBlindedBeaconBlockElectra{})
|
return HydrateSignedBlindedBeaconBlockElectra(ðpb.SignedBlindedBeaconBlockElectra{})
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewBlindedBeaconBlockCapellaV2 creates a blinded beacon block with minimum marshalable fields.
|
|
||||||
func NewBlindedBeaconBlockCapellaV2() *v2.SignedBlindedBeaconBlockCapella {
|
|
||||||
return HydrateV2SignedBlindedBeaconBlockCapella(&v2.SignedBlindedBeaconBlockCapella{})
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user