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

go_library(
    name = "go_default_library",
    srcs = [
        "aggregate.go",
        "attest.go",
        "health_monitor.go",
        "key_reload.go",
        "log.go",
        "metrics.go",
        "multiple_endpoints_grpc_resolver.go",
        "propose.go",
        "registration.go",
        "runner.go",
        "service.go",
        "sync_committee.go",
        "validator.go",
        "wait_for_activation.go",
        "wait_helpers.go",
    ],
    importpath = "github.com/OffchainLabs/prysm/v7/validator/client",
    visibility = [
        "//cmd:__subpackages__",
        "//validator:__subpackages__",
    ],
    deps = [
        "//api/client:go_default_library",
        "//api/client/event:go_default_library",
        "//api/grpc:go_default_library",
        "//api/server/structs:go_default_library",
        "//async:go_default_library",
        "//async/event:go_default_library",
        "//beacon-chain/builder:go_default_library",
        "//beacon-chain/core/altair:go_default_library",
        "//beacon-chain/core/signing:go_default_library",
        "//cache/lru:go_default_library",
        "//cmd:go_default_library",
        "//config/features:go_default_library",
        "//config/fieldparams:go_default_library",
        "//config/params:go_default_library",
        "//config/proposer:go_default_library",
        "//consensus-types/blocks:go_default_library",
        "//consensus-types/interfaces:go_default_library",
        "//consensus-types/primitives:go_default_library",
        "//crypto/bls:go_default_library",
        "//crypto/hash:go_default_library",
        "//crypto/rand:go_default_library",
        "//encoding/bytesutil:go_default_library",
        "//monitoring/tracing:go_default_library",
        "//monitoring/tracing/trace:go_default_library",
        "//network/httputil:go_default_library",
        "//proto/prysm/v1alpha1:go_default_library",
        "//proto/prysm/v1alpha1/validator-client:go_default_library",
        "//runtime/version:go_default_library",
        "//time:go_default_library",
        "//time/slots:go_default_library",
        "//validator/accounts/iface:go_default_library",
        "//validator/accounts/wallet:go_default_library",
        "//validator/client/beacon-api:go_default_library",
        "//validator/client/beacon-chain-client-factory:go_default_library",
        "//validator/client/iface:go_default_library",
        "//validator/client/node-client-factory:go_default_library",
        "//validator/client/validator-client-factory:go_default_library",
        "//validator/db:go_default_library",
        "//validator/db/common:go_default_library",
        "//validator/graffiti:go_default_library",
        "//validator/helpers:go_default_library",
        "//validator/keymanager:go_default_library",
        "//validator/keymanager/local:go_default_library",
        "//validator/keymanager/remote-web3signer:go_default_library",
        "@com_github_dgraph_io_ristretto_v2//:go_default_library",
        "@com_github_ethereum_go_ethereum//common:go_default_library",
        "@com_github_ethereum_go_ethereum//common/hexutil:go_default_library",
        "@com_github_golang_protobuf//ptypes/empty",
        "@com_github_golang_protobuf//ptypes/timestamp",
        "@com_github_grpc_ecosystem_go_grpc_middleware//:go_default_library",
        "@com_github_grpc_ecosystem_go_grpc_middleware//retry: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_hashicorp_golang_lru//: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_prysmaticlabs_go_bitfield//:go_default_library",
        "@com_github_sirupsen_logrus//:go_default_library",
        "@io_opentelemetry_go_contrib_instrumentation_google_golang_org_grpc_otelgrpc//:go_default_library",
        "@io_opentelemetry_go_contrib_instrumentation_net_http_otelhttp//:go_default_library",
        "@io_opentelemetry_go_otel_trace//:go_default_library",
        "@org_golang_google_grpc//:go_default_library",
        "@org_golang_google_grpc//codes:go_default_library",
        "@org_golang_google_grpc//credentials:go_default_library",
        "@org_golang_google_grpc//metadata:go_default_library",
        "@org_golang_google_grpc//resolver:go_default_library",
        "@org_golang_google_grpc//status:go_default_library",
        "@org_golang_google_protobuf//proto:go_default_library",
        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
    ],
)

go_test(
    name = "go_default_test",
    size = "medium",
    srcs = [
        "aggregate_test.go",
        "attest_test.go",
        "health_monitor_test.go",
        "key_reload_test.go",
        "log_test.go",
        "metrics_test.go",
        "propose_test.go",
        "registration_test.go",
        "runner_test.go",
        "service_test.go",
        "slashing_protection_interchange_test.go",
        "sync_committee_test.go",
        "validator_test.go",
        "wait_for_activation_test.go",
        "wait_helpers_test.go",
    ],
    data = [
        "@eip3076_spec_tests//:test_data",
    ],
    embed = [":go_default_library"],
    deps = [
        "//api/server/structs:go_default_library",
        "//async/event:go_default_library",
        "//beacon-chain/core/signing:go_default_library",
        "//cache/lru:go_default_library",
        "//cmd/validator/flags:go_default_library",
        "//config/features:go_default_library",
        "//config/fieldparams:go_default_library",
        "//config/params:go_default_library",
        "//config/proposer:go_default_library",
        "//consensus-types/blocks:go_default_library",
        "//consensus-types/blocks/testing:go_default_library",
        "//consensus-types/interfaces:go_default_library",
        "//consensus-types/primitives:go_default_library",
        "//consensus-types/validator:go_default_library",
        "//crypto/bls:go_default_library",
        "//crypto/bls/common/mock:go_default_library",
        "//encoding/bytesutil:go_default_library",
        "//io/file:go_default_library",
        "//proto/prysm/v1alpha1:go_default_library",
        "//proto/prysm/v1alpha1/validator-client:go_default_library",
        "//runtime:go_default_library",
        "//runtime/version:go_default_library",
        "//testing/assert:go_default_library",
        "//testing/require:go_default_library",
        "//testing/util:go_default_library",
        "//testing/validator-mock:go_default_library",
        "//third_party/go-bip39:go_default_library",
        "//time/slots:go_default_library",
        "//validator/accounts/testing:go_default_library",
        "//validator/accounts/wallet:go_default_library",
        "//validator/client/iface:go_default_library",
        "//validator/client/testutil:go_default_library",
        "//validator/db/testing:go_default_library",
        "//validator/graffiti:go_default_library",
        "//validator/helpers:go_default_library",
        "//validator/keymanager:go_default_library",
        "//validator/keymanager/derived:go_default_library",
        "//validator/keymanager/local:go_default_library",
        "//validator/keymanager/remote-web3signer:go_default_library",
        "//validator/testing:go_default_library",
        "@com_github_ethereum_go_ethereum//common:go_default_library",
        "@com_github_ethereum_go_ethereum//common/hexutil:go_default_library",
        "@com_github_golang_protobuf//ptypes/empty",
        "@com_github_pkg_errors//:go_default_library",
        "@com_github_prysmaticlabs_go_bitfield//:go_default_library",
        "@com_github_sirupsen_logrus//:go_default_library",
        "@com_github_sirupsen_logrus//hooks/test:go_default_library",
        "@com_github_stretchr_testify//assert:go_default_library",
        "@com_github_stretchr_testify//require:go_default_library",
        "@com_github_urfave_cli_v2//:go_default_library",
        "@com_github_wealdtech_go_eth2_util//:go_default_library",
        "@in_gopkg_d4l3k_messagediff_v1//:go_default_library",
        "@io_bazel_rules_go//go/tools/bazel:go_default_library",
        "@org_golang_google_grpc//metadata:go_default_library",
        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
        "@org_uber_go_mock//gomock:go_default_library",
    ],
)
