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

go_library(
    name = "go_default_library",
    srcs = [
        "chunks.go",
        "detect_attestations.go",
        "detect_blocks.go",
        "doc.go",
        "helpers.go",
        "log.go",
        "metrics.go",
        "params.go",
        "process_slashings.go",
        "queue.go",
        "receive.go",
        "service.go",
    ],
    importpath = "github.com/OffchainLabs/prysm/v7/beacon-chain/slasher",
    visibility = [
        "//beacon-chain:__subpackages__",
        "//cmd/prysmctl:__subpackages__",
        "//testing/slasher/simulator:__subpackages__",
    ],
    deps = [
        "//async/event:go_default_library",
        "//beacon-chain/blockchain:go_default_library",
        "//beacon-chain/core/blocks:go_default_library",
        "//beacon-chain/core/feed/state:go_default_library",
        "//beacon-chain/db:go_default_library",
        "//beacon-chain/db/slasherkv:go_default_library",
        "//beacon-chain/operations/slashings:go_default_library",
        "//beacon-chain/slasher/types:go_default_library",
        "//beacon-chain/startup:go_default_library",
        "//beacon-chain/state/stategen:go_default_library",
        "//beacon-chain/sync:go_default_library",
        "//config/fieldparams:go_default_library",
        "//config/params:go_default_library",
        "//consensus-types/primitives:go_default_library",
        "//container/slice:go_default_library",
        "//encoding/bytesutil:go_default_library",
        "//monitoring/tracing/trace:go_default_library",
        "//proto/prysm/v1alpha1:go_default_library",
        "//runtime/version:go_default_library",
        "//time/slots: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_fastssz//:go_default_library",
        "@com_github_sirupsen_logrus//:go_default_library",
    ],
)

go_test(
    name = "go_default_test",
    srcs = [
        "chunks_test.go",
        "detect_attestations_test.go",
        "detect_blocks_test.go",
        "helpers_test.go",
        "params_test.go",
        "process_slashings_test.go",
        "queue_test.go",
        "receive_test.go",
        "service_test.go",
    ],
    embed = [":go_default_library"],
    deps = [
        "//async/event:go_default_library",
        "//beacon-chain/blockchain/testing:go_default_library",
        "//beacon-chain/core/signing:go_default_library",
        "//beacon-chain/db/testing:go_default_library",
        "//beacon-chain/forkchoice/doubly-linked-tree:go_default_library",
        "//beacon-chain/operations/slashings/mock:go_default_library",
        "//beacon-chain/slasher/types:go_default_library",
        "//beacon-chain/startup:go_default_library",
        "//beacon-chain/state/stategen:go_default_library",
        "//beacon-chain/sync/initial-sync/testing:go_default_library",
        "//config/fieldparams:go_default_library",
        "//config/params:go_default_library",
        "//consensus-types/primitives:go_default_library",
        "//crypto/bls:go_default_library",
        "//crypto/bls/common:go_default_library",
        "//encoding/bytesutil:go_default_library",
        "//proto/prysm/v1alpha1:go_default_library",
        "//runtime/version:go_default_library",
        "//testing/assert:go_default_library",
        "//testing/require:go_default_library",
        "//testing/util:go_default_library",
        "//time/slots:go_default_library",
        "@com_github_prysmaticlabs_fastssz//:go_default_library",
        "@com_github_sirupsen_logrus//:go_default_library",
        "@com_github_sirupsen_logrus//hooks/test:go_default_library",
    ],
)
