mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-08 23:18:15 -05:00
Move EthereumAPIs Into Prysm (#8968)
* begin move * use same import path * imports * regen protos * regen * no rename * generate ssz * gaz * fmt * edit build file * imports * modify * remove generated files * remove protos * edit imports in prysm * beacon chain all builds * edit script * add generated pbs * add replace rules * license for ethereumapis protos * change visibility * fmt * update build files to gaz ignore * use proper form * edit imports * wrap block * revert scripts * revert go mod
This commit is contained in:
@@ -13,6 +13,7 @@ go_library(
|
||||
"//beacon-chain/state/interface:go_default_library",
|
||||
"//beacon-chain/state/stateV0:go_default_library",
|
||||
"//proto/beacon/p2p/v1:go_default_library",
|
||||
"//proto/eth/v1alpha1:go_default_library",
|
||||
"//shared/benchutil:go_default_library",
|
||||
"//shared/fileutil:go_default_library",
|
||||
"//shared/interfaces:go_default_library",
|
||||
@@ -21,7 +22,6 @@ go_library(
|
||||
"//shared/testutil:go_default_library",
|
||||
"@com_github_pkg_errors//:go_default_library",
|
||||
"@com_github_prysmaticlabs_eth2_types//:go_default_library",
|
||||
"@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
@@ -10,12 +10,12 @@ import (
|
||||
|
||||
"github.com/pkg/errors"
|
||||
types "github.com/prysmaticlabs/eth2-types"
|
||||
ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
|
||||
"github.com/prysmaticlabs/prysm/beacon-chain/core/state"
|
||||
iface "github.com/prysmaticlabs/prysm/beacon-chain/state/interface"
|
||||
"github.com/prysmaticlabs/prysm/beacon-chain/state/stateV0"
|
||||
pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1"
|
||||
ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/shared/benchutil"
|
||||
"github.com/prysmaticlabs/prysm/shared/fileutil"
|
||||
"github.com/prysmaticlabs/prysm/shared/interfaces"
|
||||
|
||||
@@ -20,6 +20,7 @@ go_library(
|
||||
deps = [
|
||||
"//contracts/deposit-contract:go_default_library",
|
||||
"//proto/cluster:go_default_library",
|
||||
"//proto/eth/v1alpha1:go_default_library",
|
||||
"//shared/bls:go_default_library",
|
||||
"//shared/bytesutil:go_default_library",
|
||||
"//shared/depositutil:go_default_library",
|
||||
@@ -37,7 +38,6 @@ go_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_ethereumapis//eth/v1alpha1:go_default_library",
|
||||
"@com_github_sirupsen_logrus//:go_default_library",
|
||||
"@io_etcd_go_bbolt//:go_default_library",
|
||||
"@io_k8s_api//core/v1:go_default_library",
|
||||
|
||||
@@ -15,9 +15,9 @@ import (
|
||||
"github.com/ethereum/go-ethereum/ethclient"
|
||||
"github.com/ethereum/go-ethereum/rpc"
|
||||
"github.com/pkg/errors"
|
||||
ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1"
|
||||
contracts "github.com/prysmaticlabs/prysm/contracts/deposit-contract"
|
||||
pb "github.com/prysmaticlabs/prysm/proto/cluster"
|
||||
ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/shared/bls"
|
||||
"github.com/prysmaticlabs/prysm/shared/depositutil"
|
||||
"github.com/prysmaticlabs/prysm/shared/keystore"
|
||||
|
||||
@@ -7,9 +7,9 @@ go_library(
|
||||
importpath = "github.com/prysmaticlabs/prysm/tools/forkchecker",
|
||||
visibility = ["//visibility:private"],
|
||||
deps = [
|
||||
"//proto/eth/v1alpha1:go_default_library",
|
||||
"//shared/params:go_default_library",
|
||||
"@com_github_prysmaticlabs_eth2_types//:go_default_library",
|
||||
"@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
|
||||
"@com_github_sirupsen_logrus//:go_default_library",
|
||||
"@org_golang_google_grpc//:go_default_library",
|
||||
"@org_golang_google_protobuf//types/known/emptypb:go_default_library",
|
||||
|
||||
@@ -17,7 +17,7 @@ import (
|
||||
"time"
|
||||
|
||||
types "github.com/prysmaticlabs/eth2-types"
|
||||
pb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1"
|
||||
pb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/shared/params"
|
||||
"github.com/sirupsen/logrus"
|
||||
"google.golang.org/grpc"
|
||||
|
||||
@@ -11,11 +11,11 @@ go_library(
|
||||
visibility = ["//visibility:private"],
|
||||
deps = [
|
||||
"//proto/beacon/p2p/v1:go_default_library",
|
||||
"//proto/eth/v1alpha1:go_default_library",
|
||||
"//shared/fileutil:go_default_library",
|
||||
"//shared/interop:go_default_library",
|
||||
"//shared/params:go_default_library",
|
||||
"@com_github_ghodss_yaml//:go_default_library",
|
||||
"@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
@@ -12,8 +12,8 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/ghodss/yaml"
|
||||
ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1"
|
||||
pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1"
|
||||
ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/shared/fileutil"
|
||||
"github.com/prysmaticlabs/prysm/shared/interop"
|
||||
"github.com/prysmaticlabs/prysm/shared/params"
|
||||
|
||||
@@ -13,12 +13,12 @@ go_library(
|
||||
"//beacon-chain/core/state:go_default_library",
|
||||
"//beacon-chain/state/stateV0:go_default_library",
|
||||
"//proto/beacon/p2p/v1:go_default_library",
|
||||
"//proto/eth/v1alpha1:go_default_library",
|
||||
"//shared/interfaces:go_default_library",
|
||||
"//shared/sszutil:go_default_library",
|
||||
"//shared/version:go_default_library",
|
||||
"@com_github_ferranbt_fastssz//:go_default_library",
|
||||
"@com_github_kr_pretty//:go_default_library",
|
||||
"@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
|
||||
"@com_github_sirupsen_logrus//:go_default_library",
|
||||
"@com_github_urfave_cli_v2//:go_default_library",
|
||||
"@com_github_x_cray_logrus_prefixed_formatter//:go_default_library",
|
||||
|
||||
@@ -11,10 +11,10 @@ import (
|
||||
|
||||
fssz "github.com/ferranbt/fastssz"
|
||||
"github.com/kr/pretty"
|
||||
ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/beacon-chain/core/state"
|
||||
"github.com/prysmaticlabs/prysm/beacon-chain/state/stateV0"
|
||||
pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1"
|
||||
ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1"
|
||||
"github.com/prysmaticlabs/prysm/shared/interfaces"
|
||||
"github.com/prysmaticlabs/prysm/shared/sszutil"
|
||||
"github.com/prysmaticlabs/prysm/shared/version"
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
load(
|
||||
"@io_bazel_rules_go//go:def.bzl",
|
||||
"GoLibrary",
|
||||
"GoSource",
|
||||
)
|
||||
|
||||
def _ssz_go_proto_library_impl(ctx):
|
||||
if ctx.attr.go_proto != None:
|
||||
go_proto = ctx.attr.go_proto
|
||||
input_files = go_proto[OutputGroupInfo].go_generated_srcs.to_list()
|
||||
package_path = input_files[0].dirname
|
||||
elif hasattr(ctx.attr, "srcs") and len(ctx.attr.srcs) > 0:
|
||||
package_path = ctx.attr.srcs[0].files.to_list()[0].dirname
|
||||
input_files = ctx.attr.srcs[0].files.to_list()
|
||||
else:
|
||||
fail("Must have go_proto or srcs")
|
||||
|
||||
# Run the tool.
|
||||
output = ctx.outputs.out
|
||||
args = [
|
||||
"--output=%s" % output.path,
|
||||
"--path=%s" % package_path,
|
||||
]
|
||||
if hasattr(ctx.attr, "includes") and len(ctx.attr.includes) > 0:
|
||||
incs = []
|
||||
for include in ctx.attr.includes:
|
||||
incs.append(include[GoSource].srcs[0].dirname)
|
||||
input_files += include[GoSource].srcs
|
||||
args.append("--include=%s" % ",".join(incs))
|
||||
|
||||
if len(ctx.attr.objs) > 0:
|
||||
args += ["--objs=%s" % ",".join(ctx.attr.objs)]
|
||||
|
||||
ctx.actions.run(
|
||||
executable = ctx.executable.sszgen,
|
||||
progress_message = "Generating ssz marshal and unmarshal functions",
|
||||
inputs = input_files,
|
||||
arguments = args,
|
||||
outputs = [output],
|
||||
)
|
||||
|
||||
"""
|
||||
A rule that uses the generated pb.go files from a go_proto_library target to generate SSZ marshal
|
||||
and unmarshal functions as pointer receivers on the specified objects. To use this rule, provide a
|
||||
go_proto_library target and specify the structs to generate methods in the "objs" field. Lastly,
|
||||
include your new target as a source for the go_library that embeds the go_proto_library.
|
||||
Example:
|
||||
go_proto_library(
|
||||
name = "example_go_proto",
|
||||
...
|
||||
)
|
||||
ssz_gen_marshal(
|
||||
name = "ssz_generated_sources",
|
||||
go_proto = ":example_go_proto",
|
||||
objs = [ # omit this field to generate for all structs in the package.
|
||||
"AddressBook",
|
||||
"Person",
|
||||
],
|
||||
)
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = [":ssz_generated_sources"],
|
||||
embed = [":example_go_proto"],
|
||||
deps = SSZ_DEPS,
|
||||
)
|
||||
"""
|
||||
ssz_gen_marshal = rule(
|
||||
implementation = _ssz_go_proto_library_impl,
|
||||
attrs = {
|
||||
"srcs": attr.label_list(allow_files = True),
|
||||
"go_proto": attr.label(providers = [GoLibrary]),
|
||||
"sszgen": attr.label(
|
||||
default = Label("@com_github_ferranbt_fastssz//sszgen:sszgen"),
|
||||
executable = True,
|
||||
cfg = "host",
|
||||
),
|
||||
"objs": attr.string_list(),
|
||||
"includes": attr.label_list(providers = [GoLibrary]),
|
||||
},
|
||||
outputs = {"out": "generated.ssz.go"},
|
||||
)
|
||||
|
||||
SSZ_DEPS = ["@com_github_ferranbt_fastssz//:go_default_library"]
|
||||
Reference in New Issue
Block a user