diff --git a/.bazelrc b/.bazelrc new file mode 100644 index 0000000..fbc00e3 --- /dev/null +++ b/.bazelrc @@ -0,0 +1 @@ +test --test_env=GO_TEST_WRAP_TESTV=1 diff --git a/cmd/radiance/BUILD b/cmd/radiance/BUILD new file mode 100644 index 0000000..f96fd27 --- /dev/null +++ b/cmd/radiance/BUILD @@ -0,0 +1,25 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") + +go_library( + name = "radiance_lib", + srcs = ["main.go"], + importpath = "go.firedancer.io/radiance/cmd/radiance", + tags = ["manual"], + visibility = ["//visibility:private"], + deps = [ + "//cmd/radiance/blockstore", + "//cmd/radiance/car", + "//cmd/radiance/gossip", + "//cmd/radiance/replay", + "@com_github_gagliardetto_solana_go//programs/vote", + "@com_github_spf13_cobra//:cobra", + "@io_k8s_klog_v2//:klog", + ], +) + +go_binary( + name = "radiance", + embed = [":radiance_lib"], + gotags = ["rocksdb"], + visibility = ["//visibility:public"], +) diff --git a/cmd/radiance/blockstore/BUILD b/cmd/radiance/blockstore/BUILD new file mode 100644 index 0000000..64d8381 --- /dev/null +++ b/cmd/radiance/blockstore/BUILD @@ -0,0 +1,22 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "blockstore", + srcs = ["blockstore.go"], + importpath = "go.firedancer.io/radiance/cmd/radiance/blockstore", + visibility = ["//visibility:public"], + deps = [ + "//cmd/radiance/blockstore/dumpshreds", + "//cmd/radiance/blockstore/verifydata", + "//cmd/radiance/blockstore/yaml", + "@com_github_spf13_cobra//:cobra", + ], +) + +go_library( + name = "blockstore_missing", + srcs = ["blockstore_missing.go"], + importpath = "go.firedancer.io/radiance/cmd/radiance/blockstore", + visibility = ["//visibility:public"], + deps = ["@com_github_spf13_cobra//:cobra"], +) diff --git a/cmd/radiance/blockstore/dumpshreds/BUILD b/cmd/radiance/blockstore/dumpshreds/BUILD new file mode 100644 index 0000000..d302221 --- /dev/null +++ b/cmd/radiance/blockstore/dumpshreds/BUILD @@ -0,0 +1,15 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "dumpshreds", + srcs = ["dumpshreds.go"], + importpath = "go.firedancer.io/radiance/cmd/radiance/blockstore/dumpshreds", + visibility = ["//visibility:public"], + deps = [ + "//cmd/radiance/blockstore/util", + "//pkg/blockstore", + "@com_github_linxgnu_grocksdb//:grocksdb", + "@com_github_spf13_cobra//:cobra", + "@io_k8s_klog_v2//:klog", + ], +) diff --git a/cmd/radiance/blockstore/util/BUILD b/cmd/radiance/blockstore/util/BUILD new file mode 100644 index 0000000..31292fa --- /dev/null +++ b/cmd/radiance/blockstore/util/BUILD @@ -0,0 +1,15 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "util", + srcs = ["ints.go"], + importpath = "go.firedancer.io/radiance/cmd/radiance/blockstore/util", + visibility = ["//visibility:public"], +) + +go_test( + name = "util_test", + srcs = ["ints_test.go"], + embed = [":util"], + deps = ["@com_github_stretchr_testify//assert"], +) diff --git a/cmd/radiance/blockstore/verifydata/BUILD b/cmd/radiance/blockstore/verifydata/BUILD new file mode 100644 index 0000000..8ea02fc --- /dev/null +++ b/cmd/radiance/blockstore/verifydata/BUILD @@ -0,0 +1,23 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "verifydata", + srcs = [ + "verifydata.go", + "worker.go", + ], + importpath = "go.firedancer.io/radiance/cmd/radiance/blockstore/verifydata", + visibility = ["//visibility:public"], + deps = [ + "//pkg/blockstore", + "//pkg/shred", + "@com_github_linxgnu_grocksdb//:grocksdb", + "@com_github_mattn_go_isatty//:go-isatty", + "@com_github_spf13_cobra//:cobra", + "@com_github_vbauerster_mpb_v8//:mpb", + "@com_github_vbauerster_mpb_v8//decor", + "@com_github_vividcortex_ewma//:ewma", + "@io_k8s_klog_v2//:klog", + "@org_golang_x_sync//errgroup", + ], +) diff --git a/cmd/radiance/blockstore/yaml/BUILD b/cmd/radiance/blockstore/yaml/BUILD new file mode 100644 index 0000000..19d0eb3 --- /dev/null +++ b/cmd/radiance/blockstore/yaml/BUILD @@ -0,0 +1,21 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "yaml", + srcs = [ + "shreds.go", + "yaml.go", + ], + importpath = "go.firedancer.io/radiance/cmd/radiance/blockstore/yaml", + visibility = ["//visibility:public"], + deps = [ + "//cmd/radiance/blockstore/util", + "//pkg/blockstore", + "//pkg/shred", + "@com_github_linxgnu_grocksdb//:grocksdb", + "@com_github_segmentio_textio//:textio", + "@com_github_spf13_cobra//:cobra", + "@in_gopkg_yaml_v3//:yaml_v3", + "@io_k8s_klog_v2//:klog", + ], +) diff --git a/cmd/radiance/car/BUILD b/cmd/radiance/car/BUILD new file mode 100644 index 0000000..39782d5 --- /dev/null +++ b/cmd/radiance/car/BUILD @@ -0,0 +1,13 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "car", + srcs = ["car.go"], + importpath = "go.firedancer.io/radiance/cmd/radiance/car", + visibility = ["//visibility:public"], + deps = [ + "//cmd/radiance/car/create", + "//cmd/radiance/car/dump", + "@com_github_spf13_cobra//:cobra", + ], +) diff --git a/cmd/radiance/car/create/BUILD b/cmd/radiance/car/create/BUILD new file mode 100644 index 0000000..1f3f96f --- /dev/null +++ b/cmd/radiance/car/create/BUILD @@ -0,0 +1,15 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "create", + srcs = ["create.go"], + importpath = "go.firedancer.io/radiance/cmd/radiance/car/create", + visibility = ["//visibility:public"], + deps = [ + "//pkg/blockstore", + "//pkg/ipld/cargen", + "@com_github_pkg_profile//:profile", + "@com_github_spf13_cobra//:cobra", + "@io_k8s_klog_v2//:klog", + ], +) diff --git a/cmd/radiance/car/dump/BUILD b/cmd/radiance/car/dump/BUILD new file mode 100644 index 0000000..1e53df3 --- /dev/null +++ b/cmd/radiance/car/dump/BUILD @@ -0,0 +1,16 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "dump", + srcs = ["dump.go"], + importpath = "go.firedancer.io/radiance/cmd/radiance/car/dump", + visibility = ["//visibility:public"], + deps = [ + "//pkg/ipld/ipldgen", + "@com_github_gagliardetto_binary//:binary", + "@com_github_gagliardetto_solana_go//:solana-go", + "@com_github_ipld_go_car//:go-car", + "@com_github_spf13_cobra//:cobra", + "@io_k8s_klog_v2//:klog", + ], +) diff --git a/cmd/radiance/gossip/BUILD b/cmd/radiance/gossip/BUILD new file mode 100644 index 0000000..2f4796c --- /dev/null +++ b/cmd/radiance/gossip/BUILD @@ -0,0 +1,13 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "gossip", + srcs = ["gossip.go"], + importpath = "go.firedancer.io/radiance/cmd/radiance/gossip", + visibility = ["//visibility:public"], + deps = [ + "//cmd/radiance/gossip/ping", + "//cmd/radiance/gossip/pull", + "@com_github_spf13_cobra//:cobra", + ], +) diff --git a/cmd/radiance/gossip/ping/BUILD b/cmd/radiance/gossip/ping/BUILD new file mode 100644 index 0000000..544f183 --- /dev/null +++ b/cmd/radiance/gossip/ping/BUILD @@ -0,0 +1,14 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "ping", + srcs = ["ping.go"], + importpath = "go.firedancer.io/radiance/cmd/radiance/gossip/ping", + visibility = ["//visibility:public"], + deps = [ + "//pkg/gossip", + "@com_github_spf13_cobra//:cobra", + "@io_k8s_klog_v2//:klog", + "@org_golang_x_sync//errgroup", + ], +) diff --git a/cmd/radiance/gossip/pull/BUILD b/cmd/radiance/gossip/pull/BUILD new file mode 100644 index 0000000..2b838eb --- /dev/null +++ b/cmd/radiance/gossip/pull/BUILD @@ -0,0 +1,14 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "pull", + srcs = ["pull.go"], + importpath = "go.firedancer.io/radiance/cmd/radiance/gossip/pull", + visibility = ["//visibility:public"], + deps = [ + "//pkg/gossip", + "@com_github_spf13_cobra//:cobra", + "@io_k8s_klog_v2//:klog", + "@org_golang_x_sync//errgroup", + ], +) diff --git a/cmd/radiance/replay/BUILD b/cmd/radiance/replay/BUILD new file mode 100644 index 0000000..e5755fb --- /dev/null +++ b/cmd/radiance/replay/BUILD @@ -0,0 +1,18 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "replay", + srcs = ["replay.go"], + importpath = "go.firedancer.io/radiance/cmd/radiance/replay", + visibility = ["//visibility:public"], + deps = [ + "//pkg/blockstore", + "//pkg/genesis", + "//pkg/merkletree", + "//pkg/poh", + "//pkg/runtime", + "@com_github_gagliardetto_solana_go//:solana-go", + "@com_github_spf13_cobra//:cobra", + "@io_k8s_klog_v2//:klog", + ], +) diff --git a/fixtures/BUILD b/fixtures/BUILD new file mode 100644 index 0000000..b863d40 --- /dev/null +++ b/fixtures/BUILD @@ -0,0 +1,18 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "fixtures", + srcs = [ + "fixtures.go", + "shreds.go", + ], + importpath = "go.firedancer.io/radiance/fixtures", + visibility = ["//visibility:public"], + deps = ["@com_github_stretchr_testify//require"], +) + +filegroup( + name = "blobs", + srcs = glob(["**"]), + visibility = ["//visibility:public"], +) diff --git a/pkg/archiveutil/BUILD b/pkg/archiveutil/BUILD new file mode 100644 index 0000000..d5885b9 --- /dev/null +++ b/pkg/archiveutil/BUILD @@ -0,0 +1,8 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "archiveutil", + srcs = ["archiveutil.go"], + importpath = "go.firedancer.io/radiance/pkg/archiveutil", + visibility = ["//visibility:public"], +) diff --git a/pkg/blockhash/BUILD b/pkg/blockhash/BUILD new file mode 100644 index 0000000..047702d --- /dev/null +++ b/pkg/blockhash/BUILD @@ -0,0 +1,14 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "blockhash", + srcs = ["blockhash.go"], + importpath = "go.firedancer.io/radiance/pkg/blockhash", + visibility = ["//visibility:public"], + deps = [ + "//proto/env/v1:env", + "@com_github_gagliardetto_solana_go//:solana-go", + "@com_github_gagliardetto_solana_go//rpc", + "@io_k8s_klog_v2//:klog", + ], +) diff --git a/pkg/blockstore/BUILD b/pkg/blockstore/BUILD new file mode 100644 index 0000000..2e01003 --- /dev/null +++ b/pkg/blockstore/BUILD @@ -0,0 +1,45 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "blockstore", + srcs = [ + "bincode.go", + "bincode_rocks.go", + "blockstore.go", + "blockstore_rocks.go", + "blockwalk.go", + "blockwalk_rocks.go", + "meta.go", + "meta_rocks.go", + "shreds.go", + "shreds_rocks.go", + ], + importpath = "go.firedancer.io/radiance/pkg/blockstore", + visibility = ["//visibility:public"], + deps = [ + "//pkg/shred", + "@com_github_gagliardetto_binary//:binary", + "@com_github_linxgnu_grocksdb//:grocksdb", + "@io_k8s_klog_v2//:klog", + ], +) + +go_test( + name = "blockstore_test", + srcs = [ + "blockwalk_test.go", + "shreds_bench_test.go", + "shreds_test.go", + ], + data = ["//fixtures:blobs"], + embed = [":blockstore"], + gotags = ["rocksdb"], + rundir = ".", + deps = [ + "//fixtures", + "//pkg/shred", + "@com_github_gagliardetto_solana_go//:solana-go", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + ], +) diff --git a/pkg/clusternodes/BUILD b/pkg/clusternodes/BUILD new file mode 100644 index 0000000..d1354fb --- /dev/null +++ b/pkg/clusternodes/BUILD @@ -0,0 +1,14 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "clusternodes", + srcs = ["gossip.go"], + importpath = "go.firedancer.io/radiance/pkg/clusternodes", + visibility = ["//visibility:public"], + deps = [ + "//proto/env/v1:env", + "@com_github_gagliardetto_solana_go//:solana-go", + "@com_github_gagliardetto_solana_go//rpc", + "@io_k8s_klog_v2//:klog", + ], +) diff --git a/pkg/endpoints/BUILD b/pkg/endpoints/BUILD new file mode 100644 index 0000000..a0d2ead --- /dev/null +++ b/pkg/endpoints/BUILD @@ -0,0 +1,9 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "endpoints", + srcs = ["endpoints.go"], + importpath = "go.firedancer.io/radiance/pkg/endpoints", + visibility = ["//visibility:public"], + deps = ["@com_github_gagliardetto_solana_go//rpc"], +) diff --git a/pkg/envfile/BUILD b/pkg/envfile/BUILD new file mode 100644 index 0000000..213dcf8 --- /dev/null +++ b/pkg/envfile/BUILD @@ -0,0 +1,23 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "envfile", + srcs = [ + "env.go", + "filter_nodes.go", + ], + importpath = "go.firedancer.io/radiance/pkg/envfile", + visibility = ["//visibility:public"], + deps = [ + "//proto/env/v1:env", + "@org_golang_google_protobuf//encoding/prototext", + ], +) + +go_test( + name = "envfile_test", + srcs = ["env_test.go"], + data = glob(["testdata/**"]), + embed = [":envfile"], + deps = ["//proto/env/v1:env"], +) diff --git a/pkg/genesis/BUILD b/pkg/genesis/BUILD new file mode 100644 index 0000000..2500630 --- /dev/null +++ b/pkg/genesis/BUILD @@ -0,0 +1,32 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "genesis", + srcs = [ + "file.go", + "genesis.go", + "serde.go", + ], + importpath = "go.firedancer.io/radiance/pkg/genesis", + visibility = ["//visibility:public"], + deps = [ + "//pkg/archiveutil", + "//pkg/runtime", + "@com_github_gagliardetto_binary//:binary", + ], +) + +go_test( + name = "genesis_test", + srcs = ["file_test.go"], + data = ["//fixtures:blobs"], + embed = [":genesis"], + rundir = ".", + deps = [ + "//fixtures", + "//pkg/runtime", + "@com_github_gagliardetto_solana_go//:solana-go", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + ], +) diff --git a/pkg/gossip/BUILD b/pkg/gossip/BUILD new file mode 100644 index 0000000..8fa010b --- /dev/null +++ b/pkg/gossip/BUILD @@ -0,0 +1,44 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "gossip", + srcs = [ + "bitvec.go", + "bloom.go", + "client.go", + "crds.go", + "ping.go", + "pull.go", + "schema.go", + "socketaddr.go", + "transaction.go", + "types.go", + ], + importpath = "go.firedancer.io/radiance/pkg/gossip", + visibility = ["//visibility:public"], + deps = [ + "@com_github_gagliardetto_solana_go//:solana-go", + "@com_github_novifinancial_serde_reflection_serde_generate_runtime_golang//bincode", + "@com_github_novifinancial_serde_reflection_serde_generate_runtime_golang//serde", + "@io_k8s_klog_v2//:klog", + ], +) + +go_test( + name = "gossip_test", + srcs = [ + "bloom_test.go", + "crds_test.go", + "message_test.go", + "ping_test.go", + ], + data = ["//fixtures:blobs"], + embed = [":gossip"], + rundir = ".", + deps = [ + "//fixtures", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + "@org_golang_x_sync//errgroup", + ], +) diff --git a/pkg/ipld/car/BUILD b/pkg/ipld/car/BUILD new file mode 100644 index 0000000..ea42397 --- /dev/null +++ b/pkg/ipld/car/BUILD @@ -0,0 +1,38 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "car", + srcs = [ + "car.go", + "writer.go", + ], + importpath = "go.firedancer.io/radiance/pkg/ipld/car", + visibility = ["//visibility:public"], + deps = [ + "@com_github_filecoin_project_go_leb128//:go-leb128", + "@com_github_ipfs_go_cid//:go-cid", + "@com_github_ipld_go_car//:go-car", + "@com_github_ipld_go_ipld_prime//codec/dagcbor", + "@com_github_ipld_go_ipld_prime//datamodel", + "@com_github_multiformats_go_multicodec//:go-multicodec", + ], +) + +go_test( + name = "car_test", + srcs = [ + "car_test.go", + "writer_test.go", + ], + embed = [":car"], + deps = [ + "@com_github_ipfs_go_cid//:go-cid", + "@com_github_ipfs_go_datastore//:go-datastore", + "@com_github_ipfs_go_ipfs_blockstore//:go-ipfs-blockstore", + "@com_github_ipfs_go_ipld_cbor//:go-ipld-cbor", + "@com_github_ipld_go_car//:go-car", + "@com_github_multiformats_go_multicodec//:go-multicodec", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + ], +) diff --git a/pkg/ipld/cargen/BUILD b/pkg/ipld/cargen/BUILD new file mode 100644 index 0000000..af70525 --- /dev/null +++ b/pkg/ipld/cargen/BUILD @@ -0,0 +1,32 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "cargen", + srcs = ["cargen.go"], + importpath = "go.firedancer.io/radiance/pkg/ipld/cargen", + visibility = ["//visibility:public"], + deps = [ + "//pkg/blockstore", + "//pkg/ipld/car", + "//pkg/ipld/ipldgen", + "//pkg/shred", + "@io_k8s_klog_v2//:klog", + ], +) + +go_test( + name = "cargen_test", + srcs = ["cargen_test.go"], + embed = [":cargen"], + deps = [ + "//pkg/blockstore", + "//pkg/shred", + "@com_github_gagliardetto_solana_go//:solana-go", + "@com_github_go_logr_logr//testr", + "@com_github_ipfs_go_cid//:go-cid", + "@com_github_ipld_go_car//:go-car", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + "@io_k8s_klog_v2//:klog", + ], +) diff --git a/pkg/ipld/ipldgen/BUILD b/pkg/ipld/ipldgen/BUILD new file mode 100644 index 0000000..1bee2bd --- /dev/null +++ b/pkg/ipld/ipldgen/BUILD @@ -0,0 +1,30 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "ipldgen", + srcs = ["ipldgen.go"], + importpath = "go.firedancer.io/radiance/pkg/ipld/ipldgen", + visibility = ["//visibility:public"], + deps = [ + "//pkg/ipld/car", + "//pkg/ipld/ipldsch", + "//pkg/shred", + "@com_github_gagliardetto_binary//:binary", + "@com_github_gagliardetto_solana_go//:solana-go", + "@com_github_ipld_go_ipld_prime//datamodel", + "@com_github_ipld_go_ipld_prime//linking/cid", + ], +) + +go_test( + name = "ipldgen_test", + srcs = ["ipldgen_test.go"], + embed = [":ipldgen"], + deps = [ + "//pkg/ipld/car", + "@com_github_ipfs_go_cid//:go-cid", + "@com_github_multiformats_go_multihash//:go-multihash", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + ], +) diff --git a/pkg/ipld/ipldsch/BUILD b/pkg/ipld/ipldsch/BUILD new file mode 100644 index 0000000..35b1c18 --- /dev/null +++ b/pkg/ipld/ipldsch/BUILD @@ -0,0 +1,18 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "ipldsch", + srcs = [ + "ipldsch.go", + "ipldsch_minima.go", + "ipldsch_satisfaction.go", + "ipldsch_types.go", + ], + importpath = "go.firedancer.io/radiance/pkg/ipld/ipldsch", + visibility = ["//visibility:public"], + deps = [ + "@com_github_ipld_go_ipld_prime//datamodel", + "@com_github_ipld_go_ipld_prime//node/mixins", + "@com_github_ipld_go_ipld_prime//schema", + ], +) diff --git a/pkg/kafka/BUILD b/pkg/kafka/BUILD new file mode 100644 index 0000000..50fed99 --- /dev/null +++ b/pkg/kafka/BUILD @@ -0,0 +1,13 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "kafka", + srcs = ["kafka.go"], + importpath = "go.firedancer.io/radiance/pkg/kafka", + visibility = ["//visibility:public"], + deps = [ + "//proto/env/v1:env", + "@com_github_twmb_franz_go//pkg/kgo", + "@com_github_twmb_franz_go//pkg/sasl/scram", + ], +) diff --git a/pkg/leaderschedule/BUILD b/pkg/leaderschedule/BUILD new file mode 100644 index 0000000..0c97754 --- /dev/null +++ b/pkg/leaderschedule/BUILD @@ -0,0 +1,14 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "leaderschedule", + srcs = ["epoch.go"], + importpath = "go.firedancer.io/radiance/pkg/leaderschedule", + visibility = ["//visibility:public"], + deps = [ + "//proto/env/v1:env", + "@com_github_gagliardetto_solana_go//:solana-go", + "@com_github_gagliardetto_solana_go//rpc", + "@io_k8s_klog_v2//:klog", + ], +) diff --git a/pkg/merkletree/BUILD b/pkg/merkletree/BUILD new file mode 100644 index 0000000..e08847f --- /dev/null +++ b/pkg/merkletree/BUILD @@ -0,0 +1,15 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "merkletree", + srcs = ["merkletree.go"], + importpath = "go.firedancer.io/radiance/pkg/merkletree", + visibility = ["//visibility:public"], +) + +go_test( + name = "merkletree_test", + srcs = ["merkletree_test.go"], + embed = [":merkletree"], + deps = ["@com_github_stretchr_testify//assert"], +) diff --git a/pkg/netlink/BUILD b/pkg/netlink/BUILD new file mode 100644 index 0000000..36204cc --- /dev/null +++ b/pkg/netlink/BUILD @@ -0,0 +1,8 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "netlink", + srcs = ["interfaces.go"], + importpath = "go.firedancer.io/radiance/pkg/netlink", + visibility = ["//visibility:public"], +) diff --git a/pkg/nftables/BUILD b/pkg/nftables/BUILD new file mode 100644 index 0000000..39ca1a1 --- /dev/null +++ b/pkg/nftables/BUILD @@ -0,0 +1,18 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "nftables", + srcs = ["nftables.go"], + importpath = "go.firedancer.io/radiance/pkg/nftables", + target_compatible_with = select({ + "@platforms//os:linux": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + visibility = ["//visibility:public"], + deps = [ + "@com_github_google_nftables//:nftables", + "@com_github_google_nftables//binaryutil", + "@com_github_google_nftables//expr", + "@org_golang_x_sys//unix", + ], +) diff --git a/pkg/poh/BUILD b/pkg/poh/BUILD new file mode 100644 index 0000000..005489a --- /dev/null +++ b/pkg/poh/BUILD @@ -0,0 +1,18 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "poh", + srcs = ["poh.go"], + importpath = "go.firedancer.io/radiance/pkg/poh", + visibility = ["//visibility:public"], +) + +go_test( + name = "poh_test", + srcs = ["poh_test.go"], + embed = [":poh"], + deps = [ + "@com_github_minio_sha256_simd//:sha256-simd", + "@com_github_stretchr_testify//assert", + ], +) diff --git a/pkg/runtime/BUILD b/pkg/runtime/BUILD new file mode 100644 index 0000000..51ceca9 --- /dev/null +++ b/pkg/runtime/BUILD @@ -0,0 +1,12 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "runtime", + srcs = [ + "runtime.go", + "serde.go", + ], + importpath = "go.firedancer.io/radiance/pkg/runtime", + visibility = ["//visibility:public"], + deps = ["@com_github_gagliardetto_binary//:binary"], +) diff --git a/pkg/sbf/BUILD b/pkg/sbf/BUILD new file mode 100644 index 0000000..db0cf09 --- /dev/null +++ b/pkg/sbf/BUILD @@ -0,0 +1,26 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "sbf", + srcs = [ + "asm.go", + "interpreter.go", + "opcode.go", + "program.go", + "sbf.go", + "stack.go", + "syscalls.go", + "verifier.go", + "vm.go", + ], + importpath = "go.firedancer.io/radiance/pkg/sbf", + visibility = ["//visibility:public"], + deps = ["@com_github_spaolacci_murmur3//:murmur3"], +) + +go_test( + name = "sbf_test", + srcs = ["opcode_test.go"], + embed = [":sbf"], + deps = ["@com_github_stretchr_testify//require"], +) diff --git a/pkg/sbf/cu/BUILD b/pkg/sbf/cu/BUILD new file mode 100644 index 0000000..ec3e999 --- /dev/null +++ b/pkg/sbf/cu/BUILD @@ -0,0 +1,8 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "cu", + srcs = ["cu.go"], + importpath = "go.firedancer.io/radiance/pkg/sbf/cu", + visibility = ["//visibility:public"], +) diff --git a/pkg/sbf/loader/BUILD b/pkg/sbf/loader/BUILD new file mode 100644 index 0000000..a0e6864 --- /dev/null +++ b/pkg/sbf/loader/BUILD @@ -0,0 +1,32 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "loader", + srcs = [ + "arithmetic.go", + "copy.go", + "loader.go", + "parse.go", + "relocate.go", + ], + importpath = "go.firedancer.io/radiance/pkg/sbf/loader", + visibility = ["//visibility:public"], + deps = ["//pkg/sbf"], +) + +go_test( + name = "loader_test", + srcs = [ + "loader_test.go", + "relocate_test.go", + ], + data = ["//fixtures:blobs"], + embed = [":loader"], + rundir = ".", + deps = [ + "//fixtures", + "//pkg/sbf", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + ], +) diff --git a/pkg/sealevel/BUILD b/pkg/sealevel/BUILD new file mode 100644 index 0000000..ab9564e --- /dev/null +++ b/pkg/sealevel/BUILD @@ -0,0 +1,36 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "sealevel", + srcs = [ + "cu.go", + "logging.go", + "params.go", + "sealevel.go", + "syscalls.go", + "syscalls_log.go", + "syscalls_misc.go", + ], + importpath = "go.firedancer.io/radiance/pkg/sealevel", + visibility = ["//visibility:public"], + deps = [ + "//pkg/sbf", + "//pkg/sbf/cu", + "@com_github_gagliardetto_solana_go//:solana-go", + ], +) + +go_test( + name = "sealevel_test", + srcs = ["sealevel_test.go"], + data = ["//fixtures:blobs"], + embed = [":sealevel"], + rundir = ".", + deps = [ + "//fixtures", + "//pkg/sbf", + "//pkg/sbf/loader", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + ], +) diff --git a/pkg/shred/BUILD b/pkg/shred/BUILD new file mode 100644 index 0000000..36680b6 --- /dev/null +++ b/pkg/shred/BUILD @@ -0,0 +1,18 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "shred", + srcs = [ + "legacy.go", + "merkle.go", + "shred.go", + "shredder.go", + "version.go", + ], + importpath = "go.firedancer.io/radiance/pkg/shred", + visibility = ["//visibility:public"], + deps = [ + "@com_github_gagliardetto_binary//:binary", + "@com_github_gagliardetto_solana_go//:solana-go", + ], +) diff --git a/pkg/tpu/BUILD b/pkg/tpu/BUILD new file mode 100644 index 0000000..56cfcd4 --- /dev/null +++ b/pkg/tpu/BUILD @@ -0,0 +1,18 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "tpu", + srcs = ["tpu.go"], + importpath = "go.firedancer.io/radiance/pkg/tpu", + visibility = ["//visibility:public"], + deps = [ + "@com_github_gagliardetto_binary//:binary", + "@com_github_gagliardetto_solana_go//:solana-go", + ], +) + +go_test( + name = "tpu_test", + srcs = ["tpu_test.go"], + embed = [":tpu"], +) diff --git a/pkg/util/BUILD b/pkg/util/BUILD new file mode 100644 index 0000000..6dc0a27 --- /dev/null +++ b/pkg/util/BUILD @@ -0,0 +1,15 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "util", + srcs = ["util.go"], + importpath = "go.firedancer.io/radiance/pkg/util", + visibility = ["//visibility:public"], +) + +go_test( + name = "util_test", + srcs = ["util_test.go"], + embed = [":util"], + deps = ["@com_github_stretchr_testify//assert"], +) diff --git a/proto/env/v1/BUILD b/proto/env/v1/BUILD new file mode 100644 index 0000000..19ecb59 --- /dev/null +++ b/proto/env/v1/BUILD @@ -0,0 +1,12 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "env", + srcs = ["env.pb.go"], + importpath = "go.firedancer.io/radiance/proto/env/v1", + visibility = ["//visibility:public"], + deps = [ + "@org_golang_google_protobuf//reflect/protoreflect", + "@org_golang_google_protobuf//runtime/protoimpl", + ], +) diff --git a/proto/heimdall/v1/BUILD b/proto/heimdall/v1/BUILD new file mode 100644 index 0000000..c2bafc1 --- /dev/null +++ b/proto/heimdall/v1/BUILD @@ -0,0 +1,12 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "heimdall", + srcs = ["heimdall.pb.go"], + importpath = "go.firedancer.io/radiance/proto/heimdall/v1", + visibility = ["//visibility:public"], + deps = [ + "@org_golang_google_protobuf//reflect/protoreflect", + "@org_golang_google_protobuf//runtime/protoimpl", + ], +) diff --git a/proto/network/v1/BUILD b/proto/network/v1/BUILD new file mode 100644 index 0000000..72a1154 --- /dev/null +++ b/proto/network/v1/BUILD @@ -0,0 +1,12 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "network", + srcs = ["slot_status.pb.go"], + importpath = "go.firedancer.io/radiance/proto/network/v1", + visibility = ["//visibility:public"], + deps = [ + "@org_golang_google_protobuf//reflect/protoreflect", + "@org_golang_google_protobuf//runtime/protoimpl", + ], +) diff --git a/third_party/solana_proto/confirmed_block/BUILD b/third_party/solana_proto/confirmed_block/BUILD new file mode 100644 index 0000000..c0e323e --- /dev/null +++ b/third_party/solana_proto/confirmed_block/BUILD @@ -0,0 +1,12 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "confirmed_block", + srcs = ["confirmed_block.pb.go"], + importpath = "go.firedancer.io/radiance/third_party/solana_proto/confirmed_block", + visibility = ["//visibility:public"], + deps = [ + "@org_golang_google_protobuf//reflect/protoreflect", + "@org_golang_google_protobuf//runtime/protoimpl", + ], +)