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

go_library(
    name = "go_default_library",
    testonly = True,
    srcs = [
        "attestation_generator.go",
        "block_generator.go",
        "simulator.go",
    ],
    importpath = "github.com/OffchainLabs/prysm/v7/testing/slasher/simulator",
    visibility = [
        "//testing/endtoend:__subpackages__",
    ],
    deps = [
        "//async/event:go_default_library",
        "//beacon-chain/blockchain: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/db:go_default_library",
        "//beacon-chain/operations/slashings:go_default_library",
        "//beacon-chain/slasher:go_default_library",
        "//beacon-chain/slasher/types:go_default_library",
        "//beacon-chain/startup:go_default_library",
        "//beacon-chain/state:go_default_library",
        "//beacon-chain/state/stategen:go_default_library",
        "//beacon-chain/sync:go_default_library",
        "//config/params:go_default_library",
        "//consensus-types/primitives:go_default_library",
        "//crypto/bls:go_default_library",
        "//crypto/rand:go_default_library",
        "//encoding/bytesutil: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_sirupsen_logrus//:go_default_library",
    ],
)

go_test(
    name = "go_default_test",
    srcs = [
        "attestation_generator_test.go",
        "block_generator_test.go",
        "simulator_test.go",
    ],
    embed = [":go_default_library"],
    deps = [
        "//beacon-chain/blockchain/testing:go_default_library",
        "//beacon-chain/db/testing:go_default_library",
        "//beacon-chain/state/stategen/mock:go_default_library",
        "//config/params:go_default_library",
        "//consensus-types/primitives:go_default_library",
        "//crypto/bls:go_default_library",
        "//proto/prysm/v1alpha1:go_default_library",
        "//proto/prysm/v1alpha1/slashings:go_default_library",
        "//runtime/version:go_default_library",
        "//testing/require:go_default_library",
        "//testing/util:go_default_library",
    ],
)
