############################################################################## # 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", 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_proto_library( name = "go_grpc_gateway_library", compilers = [ "@com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-grpc-gateway:go_gen_grpc_gateway", ], embed = [":go_proto"], importpath = "github.com/prysmaticlabs/prysm/v5/proto/eth/v2", protos = [":proto"], visibility = ["//proto:__subpackages__"], ) go_library( name = "go_default_library", srcs = [ ":ssz_generated_files", ], embed = [":go_grpc_gateway_library"], 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", }), )