Add REST API stubs for beacon chain, node and slasher clients (#12094)

* WIP

* WIP

* Remove duplicate mock

* WIP

* Revert "WIP"

This reverts commit a8010057fe.

* Fix build break

* Remove unused variable

* Fix build break

* Rename validator_mock to validatormock

* Fix failing test

---------

Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
This commit is contained in:
Patrice Vignola
2023-03-20 09:32:32 -07:00
committed by GitHub
parent 6480d5a0fd
commit 7c49277e83
45 changed files with 1549 additions and 132 deletions

View File

@@ -0,0 +1,15 @@
load("@prysm//tools/go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = ["node_client_factory.go"],
importpath = "github.com/prysmaticlabs/prysm/v4/validator/client/node-client-factory",
visibility = ["//visibility:public"],
deps = [
"//config/features:go_default_library",
"//validator/client/beacon-api:go_default_library",
"//validator/client/grpc-api:go_default_library",
"//validator/client/iface:go_default_library",
"//validator/helpers:go_default_library",
],
)

View File

@@ -0,0 +1,20 @@
package validator_client_factory
import (
"github.com/prysmaticlabs/prysm/v4/config/features"
beaconApi "github.com/prysmaticlabs/prysm/v4/validator/client/beacon-api"
grpcApi "github.com/prysmaticlabs/prysm/v4/validator/client/grpc-api"
"github.com/prysmaticlabs/prysm/v4/validator/client/iface"
validatorHelpers "github.com/prysmaticlabs/prysm/v4/validator/helpers"
)
func NewNodeClient(validatorConn validatorHelpers.NodeConnection) iface.NodeClient {
grpcClient := grpcApi.NewNodeClient(validatorConn.GetGrpcClientConn())
featureFlags := features.Get()
if featureFlags.EnableBeaconRESTApi {
return beaconApi.NewNodeClientWithFallback(validatorConn.GetBeaconApiUrl(), validatorConn.GetBeaconApiTimeout(), grpcClient)
} else {
return grpcClient
}
}