load("@rules_proto//proto:defs.bzl", "proto_library") # gazelle:ignore 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("@com_github_prysmaticlabs_ethereumapis//tools:ssz.bzl", "SSZ_DEPS", "ssz_gen_marshal") go_proto_library( name = "v1_go_proto", compiler = "//:proto_compiler", importpath = "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1", proto = ":v1_proto", visibility = ["//visibility:public"], deps = [ "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library", "@com_github_prysmaticlabs_go_bitfield//:go_default_library", ], ) ssz_gen_marshal( name = "ssz_generated_files", go_proto = ":v1_go_proto", includes = [ "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library", ], objs = [ "BeaconBlocksByRangeRequest", "ENRForkID", "MetaData", "Fork", "HistoricalBatch", "Status", "BeaconState", ], ) go_library( name = "go_default_library", srcs = [":ssz_generated_files"], embed = [":v1_go_proto"], visibility = ["//visibility:public"], deps = SSZ_DEPS, ) ssz_proto_files( name = "ssz_proto_files", srcs = [ "archive.proto", "messages.proto", "types.proto", ], config = select({ "//conditions:default": "mainnet", "//proto:ssz_mainnet": "mainnet", "//proto:ssz_minimal": "minimal", }), ) proto_library( name = "v1_proto", srcs = [":ssz_proto_files"], visibility = ["//visibility:public"], deps = [ "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:proto", "@com_google_protobuf//:timestamp_proto", "@gogo_special_proto//github.com/gogo/protobuf/gogoproto", ], )