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

go_library(
    name = "go_default_library",
    srcs = [
        "aggregator.go",
        "attester.go",
        "blocks.go",
        "construct_generic_block.go",
        "duties.go",
        "duties_v2.go",
        "exit.go",
        "log.go",
        "proposer.go",
        "proposer_altair.go",
        "proposer_attestations.go",
        "proposer_attestations_electra.go",
        "proposer_bellatrix.go",
        "proposer_builder.go",
        "proposer_capella.go",
        "proposer_deneb.go",
        "proposer_deposits.go",
        "proposer_empty_block.go",
        "proposer_eth1data.go",
        "proposer_execution_payload.go",
        "proposer_exits.go",
        "proposer_slashings.go",
        "proposer_sync_aggregate.go",
        "server.go",
        "status.go",
        "sync_committee.go",
        "unblinder.go",
    ],
    importpath = "github.com/OffchainLabs/prysm/v6/beacon-chain/rpc/prysm/v1alpha1/validator",
    visibility = ["//beacon-chain:__subpackages__"],
    deps = [
        "//api/client/builder:go_default_library",
        "//async/event: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/blocks:go_default_library",
        "//beacon-chain/core/electra:go_default_library",
        "//beacon-chain/core/feed: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/helpers:go_default_library",
        "//beacon-chain/core/signing:go_default_library",
        "//beacon-chain/core/time:go_default_library",
        "//beacon-chain/core/transition:go_default_library",
        "//beacon-chain/core/validators:go_default_library",
        "//beacon-chain/db:go_default_library",
        "//beacon-chain/db/kv: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/startup:go_default_library",
        "//beacon-chain/state:go_default_library",
        "//beacon-chain/state/stategen:go_default_library",
        "//beacon-chain/state/state-native:go_default_library",
        "//beacon-chain/sync:go_default_library",
        "//config/features:go_default_library",
        "//config/fieldparams:go_default_library",
        "//config/params:go_default_library",
        "//consensus-types/blocks:go_default_library",
        "//consensus-types/interfaces:go_default_library",
        "//consensus-types/payload-attribute:go_default_library",
        "//consensus-types/primitives:go_default_library",
        "//container/trie:go_default_library",
        "//contracts/deposit:go_default_library",
        "//crypto/bls:go_default_library",
        "//crypto/bls/common:go_default_library",
        "//crypto/hash:go_default_library",
        "//crypto/rand:go_default_library",
        "//encoding/bytesutil:go_default_library",
        "//encoding/ssz:go_default_library",
	"//genesis:go_default_library",
        "//math:go_default_library",
        "//monitoring/tracing:go_default_library",
        "//monitoring/tracing/trace:go_default_library",
        "//proto/engine/v1:go_default_library",
        "//proto/eth/v1:go_default_library",
        "//proto/prysm/v1alpha1:go_default_library",
        "//proto/prysm/v1alpha1/attestation:go_default_library",
        "//proto/prysm/v1alpha1/attestation/aggregation:go_default_library",
        "//proto/prysm/v1alpha1/attestation/aggregation/attestations:go_default_library",
        "//proto/prysm/v1alpha1/attestation/aggregation/sync_contribution:go_default_library",
        "//runtime/version:go_default_library",
        "//time:go_default_library",
        "//time/slots: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_prometheus_client_golang//prometheus:go_default_library",
        "@com_github_prometheus_client_golang//prometheus/promauto:go_default_library",
        "@com_github_prysmaticlabs_fastssz//:go_default_library",
        "@com_github_prysmaticlabs_go_bitfield//:go_default_library",
        "@com_github_sirupsen_logrus//:go_default_library",
        "@org_golang_google_grpc//codes: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",
        "@org_golang_x_sync//errgroup:go_default_library",
    ],
)

common_deps = [
    "//async/event:go_default_library",
    "//beacon-chain/blockchain/testing:go_default_library",
    "//beacon-chain/builder:go_default_library",
    "//beacon-chain/builder/testing:go_default_library",
    "//beacon-chain/cache:go_default_library",
    "//beacon-chain/cache/depositsnapshot:go_default_library",
    "//beacon-chain/core/altair:go_default_library",
    "//beacon-chain/core/blocks:go_default_library",
    "//beacon-chain/core/execution:go_default_library",
    "//beacon-chain/core/feed: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/helpers:go_default_library",
    "//beacon-chain/core/signing:go_default_library",
    "//beacon-chain/core/time:go_default_library",
    "//beacon-chain/core/transition:go_default_library",
    "//beacon-chain/db/testing:go_default_library",
    "//beacon-chain/execution/testing:go_default_library",
    "//beacon-chain/forkchoice/doubly-linked-tree:go_default_library",
    "//beacon-chain/operations/attestations: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/testing:go_default_library",
    "//beacon-chain/rpc/testutil:go_default_library",
    "//beacon-chain/state:go_default_library",
    "//beacon-chain/state/state-native:go_default_library",
    "//beacon-chain/state/stategen:go_default_library",
    "//beacon-chain/state/stategen/mock:go_default_library",
    "//beacon-chain/sync/initial-sync/testing:go_default_library",
    "//config/fieldparams:go_default_library",
    "//config/params:go_default_library",
    "//consensus-types:go_default_library",
    "//consensus-types/blocks:go_default_library",
    "//consensus-types/interfaces:go_default_library",
    "//consensus-types/primitives:go_default_library",
    "//container/trie:go_default_library",
    "//crypto/bls:go_default_library",
    "//crypto/bls/blst:go_default_library",
    "//encoding/bytesutil:go_default_library",
    "//encoding/ssz:go_default_library",
    "//genesis:go_default_library",
    "//proto/engine/v1:go_default_library",
    "//proto/eth/v1:go_default_library",
    "//proto/prysm/v1alpha1:go_default_library",
    "//proto/prysm/v1alpha1/attestation:go_default_library",
    "//proto/prysm/v1alpha1/attestation/aggregation/attestations:go_default_library",
    "//testing/assert:go_default_library",
    "//testing/mock:go_default_library",
    "//testing/require:go_default_library",
    "//testing/util:go_default_library",
    "//time:go_default_library",
    "//time/slots:go_default_library",
    "@com_github_d4l3k_messagediff//:go_default_library",
    "@com_github_ethereum_go_ethereum//common:go_default_library",
    "@com_github_ethereum_go_ethereum//core/types:go_default_library",
    "@org_uber_go_mock//gomock:go_default_library",
    "@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",
    "@org_golang_google_grpc//codes: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",
]

# gazelle:ignore
go_test(
    name = "go_default_test",
    timeout = "moderate",
    srcs = [
        "aggregator_test.go",
        "attester_test.go",
        "blocks_test.go",
        "construct_generic_block_test.go",
        "duties_test.go",
        "duties_v2_test.go",
        "exit_test.go",
        "proposer_altair_test.go",
        "proposer_attestations_electra_test.go",
        "proposer_attestations_test.go",
        "proposer_bellatrix_test.go",
        "proposer_builder_test.go",
        "proposer_deneb_test.go",
        "proposer_deposits_test.go",
        "proposer_empty_block_test.go",
        "proposer_execution_payload_test.go",
        "proposer_exits_test.go",
        "proposer_slashings_test.go",
        "proposer_sync_aggregate_test.go",
        "proposer_test.go",
        "server_mainnet_test.go",
        "server_test.go",
        "status_mainnet_test.go",
        "status_test.go",
        "sync_committee_test.go",
        "unblinder_test.go",
        "validator_test.go",
    ],
    embed = [":go_default_library"],
    eth_network = "minimal",
    tags = ["minimal"],
    deps = common_deps + [
        "//beacon-chain/operations/attestations/mock:go_default_library",
    ],
)

go_test(
    name = "go_mainnet_test",
    timeout = "moderate",
    srcs = [
        "attester_mainnet_test.go",
        "proposer_utils_bench_test.go",
        "server_mainnet_test.go",
        "status_mainnet_test.go",
    ],
    embed = [":go_default_library"],
    deps = common_deps + [
        "//proto/prysm/v1alpha1/attestation/aggregation/testing:go_default_library",
    ],
)
