load("@prysm//tools/go:def.bzl", "go_library", "go_test")

go_library(
    name = "go_default_library",
    srcs = [
        "endpoints.go",
        "log.go",
        "metrics.go",
        "service.go",
    ],
    importpath = "github.com/OffchainLabs/prysm/v6/beacon-chain/rpc",
    visibility = ["//beacon-chain:__subpackages__"],
    deps = [
        "//api:go_default_library",
        "//api/server/middleware:go_default_library",
        "//beacon-chain/blockchain:go_default_library",
        "//beacon-chain/builder:go_default_library",
        "//beacon-chain/cache:go_default_library",
        "//beacon-chain/cache/depositsnapshot:go_default_library",
        "//beacon-chain/core/feed/block:go_default_library",
        "//beacon-chain/core/feed/operation:go_default_library",
        "//beacon-chain/core/feed/state:go_default_library",
        "//beacon-chain/core/light-client:go_default_library",
        "//beacon-chain/db:go_default_library",
        "//beacon-chain/db/filesystem:go_default_library",
        "//beacon-chain/execution:go_default_library",
        "//beacon-chain/operations/attestations:go_default_library",
        "//beacon-chain/operations/blstoexec:go_default_library",
        "//beacon-chain/operations/slashings:go_default_library",
        "//beacon-chain/operations/synccommittee:go_default_library",
        "//beacon-chain/operations/voluntaryexits:go_default_library",
        "//beacon-chain/p2p:go_default_library",
        "//beacon-chain/rpc/core:go_default_library",
        "//beacon-chain/rpc/eth/beacon:go_default_library",
        "//beacon-chain/rpc/eth/blob:go_default_library",
        "//beacon-chain/rpc/eth/builder:go_default_library",
        "//beacon-chain/rpc/eth/config:go_default_library",
        "//beacon-chain/rpc/eth/debug:go_default_library",
        "//beacon-chain/rpc/eth/events:go_default_library",
        "//beacon-chain/rpc/eth/light-client:go_default_library",
        "//beacon-chain/rpc/eth/node:go_default_library",
        "//beacon-chain/rpc/eth/rewards:go_default_library",
        "//beacon-chain/rpc/eth/validator:go_default_library",
        "//beacon-chain/rpc/lookup:go_default_library",
        "//beacon-chain/rpc/prysm/beacon:go_default_library",
        "//beacon-chain/rpc/prysm/node:go_default_library",
        "//beacon-chain/rpc/prysm/v1alpha1/beacon:go_default_library",
        "//beacon-chain/rpc/prysm/v1alpha1/debug:go_default_library",
        "//beacon-chain/rpc/prysm/v1alpha1/node:go_default_library",
        "//beacon-chain/rpc/prysm/v1alpha1/validator:go_default_library",
        "//beacon-chain/rpc/prysm/validator:go_default_library",
        "//beacon-chain/startup:go_default_library",
        "//beacon-chain/state/stategen:go_default_library",
        "//beacon-chain/sync:go_default_library",
        "//config/features:go_default_library",
        "//config/params:go_default_library",
        "//io/logs:go_default_library",
        "//monitoring/tracing:go_default_library",
        "//proto/prysm/v1alpha1:go_default_library",
        "@com_github_grpc_ecosystem_go_grpc_middleware//:go_default_library",
        "@com_github_grpc_ecosystem_go_grpc_middleware//recovery:go_default_library",
        "@com_github_grpc_ecosystem_go_grpc_middleware//tracing/opentracing:go_default_library",
        "@com_github_grpc_ecosystem_go_grpc_prometheus//:go_default_library",
        "@com_github_pkg_errors//:go_default_library",
        "@com_github_prometheus_client_golang//prometheus:go_default_library",
        "@com_github_prometheus_client_golang//prometheus/promauto:go_default_library",
        "@com_github_prometheus_client_golang//prometheus/promhttp:go_default_library",
        "@com_github_sirupsen_logrus//:go_default_library",
        "@io_opentelemetry_go_contrib_instrumentation_google_golang_org_grpc_otelgrpc//:go_default_library",
        "@org_golang_google_grpc//:go_default_library",
        "@org_golang_google_grpc//credentials:go_default_library",
        "@org_golang_google_grpc//peer:go_default_library",
        "@org_golang_google_grpc//reflection:go_default_library",
    ],
)

go_test(
    name = "go_default_test",
    size = "medium",
    srcs = [
        "endpoints_test.go",
        "service_test.go",
    ],
    embed = [":go_default_library"],
    deps = [
        "//beacon-chain/blockchain/testing:go_default_library",
        "//beacon-chain/execution/testing:go_default_library",
        "//beacon-chain/startup:go_default_library",
        "//beacon-chain/sync/initial-sync/testing:go_default_library",
        "//config/features:go_default_library",
        "//testing/assert:go_default_library",
        "//testing/require:go_default_library",
        "@com_github_sirupsen_logrus//:go_default_library",
        "@com_github_sirupsen_logrus//hooks/test:go_default_library",
    ],
)
