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

go_library(
    name = "go_default_library",
    srcs = [
        "basis_points.go",
        "config.go",
        "config_utils_develop.go",  # keep
        "config_utils_prod.go",
        "configset.go",
        "errors.go",
        "fork.go",
        "init.go",
        "interop.go",
        "io_config.go",
        "loader.go",
        "log.go",
        "mainnet_config.go",
        "minimal_config.go",
        "network_config.go",
        "opts.go",
        "testnet_custom_network_config.go",
        "testnet_e2e_config.go",
        "testnet_holesky_config.go",
        "testnet_hoodi_config.go",
        "testnet_sepolia_config.go",
        "testutils.go",
        "testutils_develop.go",  # keep
        "values.go",
    ],
    importpath = "github.com/OffchainLabs/prysm/v7/config/params",
    visibility = ["//visibility:public"],
    deps = [
        "//config/fieldparams:go_default_library",
        "//consensus-types/primitives:go_default_library",
        "//crypto/hash:go_default_library",
        "//encoding/bytesutil:go_default_library",
        "//math:go_default_library",
        "//proto/engine/v1:go_default_library",
        "//proto/prysm/v1alpha1:go_default_library",
        "//runtime/version:go_default_library",
        "@com_github_ethereum_go_ethereum//common:go_default_library",
        "@com_github_ethereum_go_ethereum//params:go_default_library",
        "@com_github_mohae_deepcopy//:go_default_library",
        "@com_github_pkg_errors//:go_default_library",
        "@com_github_sirupsen_logrus//:go_default_library",
        "@in_gopkg_yaml_v2//:go_default_library",
    ],
)

go_test(
    name = "go_default_test",
    size = "small",
    srcs = [
        "checktags_test.go",
        "config_test.go",
        "configset_test.go",
        "export_test.go",
        "fork_test.go",
        "loader_test.go",
        "mainnet_config_export_test.go",
        "mainnet_config_test.go",
        "testnet_config_test.go",
        "testnet_holesky_config_test.go",
        "testnet_hoodi_config_test.go",
        "testnet_sepolia_config_test.go",
    ],
    data = glob(["*.yaml"]) + [
        "testdata/e2e_config.yaml",
        "@consensus_spec//:spec_data",
        "@consensus_spec_tests//:test_data",
        "@holesky_testnet//:configs",
        "@hoodi_testnet//:configs",
        "@mainnet//:configs",
        "@sepolia_testnet//:configs",
    ],
    embed = [":go_default_library"],
    gotags = ["develop"],
    tags = ["CI_race_detection"],
    deps = [
        "//consensus-types/primitives:go_default_library",
        "//encoding/bytesutil:go_default_library",
        "//genesis:go_default_library",
        "//io/file:go_default_library",
        "//proto/prysm/v1alpha1:go_default_library",
        "//runtime/version:go_default_library",
        "//testing/assert:go_default_library",
        "//testing/require:go_default_library",
        "@com_github_ethereum_go_ethereum//common/hexutil:go_default_library",
        "@com_github_sirupsen_logrus//:go_default_library",
        "@in_gopkg_yaml_v2//:go_default_library",
        "@io_bazel_rules_go//go/tools/bazel:go_default_library",
    ],
)

filegroup(
    name = "custom_configs",
    srcs = glob(["testdata/*.yaml"]),
    visibility = ["//testing:__subpackages__"],
)
