mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 15:37:56 -05:00
Stream Validator and Beacon Logs via gRPC Streams (#8150)
* implement validator logs stream * fix test * tidy * proto regen * add logs stream to the beacon node * beacon logs working * impl * pass test * gaz * rem lock * fix space
This commit is contained in:
@@ -29,6 +29,7 @@ go_library(
|
||||
"//proto/beacon/p2p/v1:go_default_library",
|
||||
"//proto/beacon/rpc/v1:go_default_library",
|
||||
"//shared/featureconfig:go_default_library",
|
||||
"//shared/logutil:go_default_library",
|
||||
"//shared/params:go_default_library",
|
||||
"//shared/traceutil:go_default_library",
|
||||
"@com_github_grpc_ecosystem_go_grpc_middleware//:go_default_library",
|
||||
|
||||
@@ -12,6 +12,7 @@ go_library(
|
||||
"//beacon-chain/p2p:go_default_library",
|
||||
"//beacon-chain/sync:go_default_library",
|
||||
"//proto/beacon/rpc/v1:go_default_library",
|
||||
"//shared/logutil:go_default_library",
|
||||
"//shared/version:go_default_library",
|
||||
"@com_github_gogo_protobuf//types:go_default_library",
|
||||
"@com_github_libp2p_go_libp2p_core//network:go_default_library",
|
||||
@@ -33,7 +34,6 @@ go_test(
|
||||
"//beacon-chain/p2p:go_default_library",
|
||||
"//beacon-chain/p2p/testing:go_default_library",
|
||||
"//beacon-chain/sync/initial-sync/testing:go_default_library",
|
||||
"//proto/beacon/rpc/v1:go_default_library",
|
||||
"//shared/bytesutil:go_default_library",
|
||||
"//shared/testutil:go_default_library",
|
||||
"//shared/testutil/assert:go_default_library",
|
||||
|
||||
@@ -17,7 +17,8 @@ import (
|
||||
"github.com/prysmaticlabs/prysm/beacon-chain/db"
|
||||
"github.com/prysmaticlabs/prysm/beacon-chain/p2p"
|
||||
"github.com/prysmaticlabs/prysm/beacon-chain/sync"
|
||||
pbrpc "github.com/prysmaticlabs/prysm/proto/beacon/rpc/v1"
|
||||
pb "github.com/prysmaticlabs/prysm/proto/beacon/rpc/v1"
|
||||
"github.com/prysmaticlabs/prysm/shared/logutil"
|
||||
"github.com/prysmaticlabs/prysm/shared/version"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/codes"
|
||||
@@ -28,6 +29,8 @@ import (
|
||||
// providing RPC endpoints for verifying a beacon node's sync status, genesis and
|
||||
// version information, and services the node implements and runs.
|
||||
type Server struct {
|
||||
LogsStreamer logutil.Streamer
|
||||
StreamLogsBufferSize int
|
||||
SyncChecker sync.Checker
|
||||
Server *grpc.Server
|
||||
BeaconDB db.ReadOnlyDatabase
|
||||
@@ -120,13 +123,6 @@ func (ns *Server) GetHost(_ context.Context, _ *ptypes.Empty) (*ethpb.HostData,
|
||||
}, nil
|
||||
}
|
||||
|
||||
// GetLogsEndpoint
|
||||
func (ns *Server) GetLogsEndpoint(_ context.Context, _ *ptypes.Empty) (*pbrpc.LogsEndpointResponse, error) {
|
||||
return &pbrpc.LogsEndpointResponse{
|
||||
BeaconLogsEndpoint: fmt.Sprintf("%s:%d", ns.BeaconMonitoringHost, ns.BeaconMonitoringPort),
|
||||
}, nil
|
||||
}
|
||||
|
||||
// GetPeer returns the data known about the peer defined by the provided peer id.
|
||||
func (ns *Server) GetPeer(_ context.Context, peerReq *ethpb.PeerRequest) (*ethpb.Peer, error) {
|
||||
pid, err := peer.Decode(peerReq.PeerId)
|
||||
@@ -224,3 +220,35 @@ func (ns *Server) ListPeers(ctx context.Context, _ *ptypes.Empty) (*ethpb.Peers,
|
||||
Peers: res,
|
||||
}, nil
|
||||
}
|
||||
|
||||
// StreamBeaconLogs from the beacon node via a gRPC server-side stream.
|
||||
func (ns *Server) StreamBeaconLogs(_ *ptypes.Empty, stream pb.Health_StreamBeaconLogsServer) error {
|
||||
ch := make(chan []byte, ns.StreamLogsBufferSize)
|
||||
defer close(ch)
|
||||
sub := ns.LogsStreamer.LogsFeed().Subscribe(ch)
|
||||
defer sub.Unsubscribe()
|
||||
|
||||
recentLogs := ns.LogsStreamer.GetLastFewLogs()
|
||||
logStrings := make([]string, len(recentLogs))
|
||||
for i, log := range recentLogs {
|
||||
logStrings[i] = string(log)
|
||||
}
|
||||
if err := stream.Send(&pb.LogsResponse{
|
||||
Logs: logStrings,
|
||||
}); err != nil {
|
||||
return status.Errorf(codes.Unavailable, "Could not send over stream: %v", err)
|
||||
}
|
||||
for {
|
||||
select {
|
||||
case log := <-ch:
|
||||
resp := &pb.LogsResponse{
|
||||
Logs: []string{string(log)},
|
||||
}
|
||||
if err := stream.Send(resp); err != nil {
|
||||
return status.Errorf(codes.Unavailable, "Could not send over stream: %v", err)
|
||||
}
|
||||
case <-stream.Context().Done():
|
||||
return status.Error(codes.Canceled, "Context canceled")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,19 +10,19 @@ import (
|
||||
"github.com/ethereum/go-ethereum/p2p/enode"
|
||||
ptypes "github.com/gogo/protobuf/types"
|
||||
ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/reflection"
|
||||
|
||||
mock "github.com/prysmaticlabs/prysm/beacon-chain/blockchain/testing"
|
||||
dbutil "github.com/prysmaticlabs/prysm/beacon-chain/db/testing"
|
||||
"github.com/prysmaticlabs/prysm/beacon-chain/p2p"
|
||||
mockP2p "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing"
|
||||
mockSync "github.com/prysmaticlabs/prysm/beacon-chain/sync/initial-sync/testing"
|
||||
pbrpc "github.com/prysmaticlabs/prysm/proto/beacon/rpc/v1"
|
||||
"github.com/prysmaticlabs/prysm/shared/bytesutil"
|
||||
"github.com/prysmaticlabs/prysm/shared/testutil"
|
||||
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
|
||||
"github.com/prysmaticlabs/prysm/shared/testutil/require"
|
||||
"github.com/prysmaticlabs/prysm/shared/version"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/reflection"
|
||||
)
|
||||
|
||||
func TestNodeServer_GetSyncStatus(t *testing.T) {
|
||||
@@ -78,19 +78,6 @@ func TestNodeServer_GetVersion(t *testing.T) {
|
||||
assert.Equal(t, v, res.Version)
|
||||
}
|
||||
|
||||
func TestNodeServer_GetLogsEndpoint(t *testing.T) {
|
||||
ns := &Server{
|
||||
BeaconMonitoringHost: "localhost",
|
||||
BeaconMonitoringPort: 8080,
|
||||
}
|
||||
res, err := ns.GetLogsEndpoint(context.Background(), &ptypes.Empty{})
|
||||
require.NoError(t, err)
|
||||
want := &pbrpc.LogsEndpointResponse{
|
||||
BeaconLogsEndpoint: "localhost:8080",
|
||||
}
|
||||
assert.DeepEqual(t, want, res)
|
||||
}
|
||||
|
||||
func TestNodeServer_GetImplementedServices(t *testing.T) {
|
||||
server := grpc.NewServer()
|
||||
ns := &Server{
|
||||
|
||||
@@ -37,6 +37,7 @@ import (
|
||||
pbp2p "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1"
|
||||
pbrpc "github.com/prysmaticlabs/prysm/proto/beacon/rpc/v1"
|
||||
"github.com/prysmaticlabs/prysm/shared/featureconfig"
|
||||
"github.com/prysmaticlabs/prysm/shared/logutil"
|
||||
"github.com/prysmaticlabs/prysm/shared/params"
|
||||
"github.com/prysmaticlabs/prysm/shared/traceutil"
|
||||
"github.com/sirupsen/logrus"
|
||||
@@ -259,6 +260,8 @@ func (s *Service) Start() {
|
||||
StateGen: s.stateGen,
|
||||
}
|
||||
nodeServer := &node.Server{
|
||||
LogsStreamer: logutil.NewStreamServer(),
|
||||
StreamLogsBufferSize: 100, // Enough to handle bursts of beacon node logs for gRPC streaming.
|
||||
BeaconDB: s.beaconDB,
|
||||
Server: s.grpcServer,
|
||||
SyncChecker: s.syncService,
|
||||
|
||||
1
go.mod
1
go.mod
@@ -37,7 +37,6 @@ require (
|
||||
github.com/google/gopacket v1.1.19 // indirect
|
||||
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
|
||||
github.com/google/uuid v1.1.2
|
||||
github.com/gorilla/websocket v1.4.2
|
||||
github.com/graph-gophers/graphql-go v0.0.0-20200309224638-dae41bde9ef9 // indirect
|
||||
github.com/grpc-ecosystem/go-grpc-middleware v1.2.2
|
||||
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
|
||||
|
||||
194
proto/beacon/rpc/v1/health.pb.go
generated
194
proto/beacon/rpc/v1/health.pb.go
generated
@@ -29,25 +29,25 @@ var _ = math.Inf
|
||||
// proto package needs to be updated.
|
||||
const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
type LogsEndpointResponse struct {
|
||||
BeaconLogsEndpoint string `protobuf:"bytes,1,opt,name=beacon_logs_endpoint,json=beaconLogsEndpoint,proto3" json:"beacon_logs_endpoint,omitempty"`
|
||||
type LogsResponse struct {
|
||||
Logs []string `protobuf:"bytes,1,rep,name=logs,proto3" json:"logs,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *LogsEndpointResponse) Reset() { *m = LogsEndpointResponse{} }
|
||||
func (m *LogsEndpointResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*LogsEndpointResponse) ProtoMessage() {}
|
||||
func (*LogsEndpointResponse) Descriptor() ([]byte, []int) {
|
||||
func (m *LogsResponse) Reset() { *m = LogsResponse{} }
|
||||
func (m *LogsResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*LogsResponse) ProtoMessage() {}
|
||||
func (*LogsResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_2e4b7e98e3e10444, []int{0}
|
||||
}
|
||||
func (m *LogsEndpointResponse) XXX_Unmarshal(b []byte) error {
|
||||
func (m *LogsResponse) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
}
|
||||
func (m *LogsEndpointResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
func (m *LogsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
if deterministic {
|
||||
return xxx_messageInfo_LogsEndpointResponse.Marshal(b, m, deterministic)
|
||||
return xxx_messageInfo_LogsResponse.Marshal(b, m, deterministic)
|
||||
} else {
|
||||
b = b[:cap(b)]
|
||||
n, err := m.MarshalToSizedBuffer(b)
|
||||
@@ -57,50 +57,49 @@ func (m *LogsEndpointResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte
|
||||
return b[:n], nil
|
||||
}
|
||||
}
|
||||
func (m *LogsEndpointResponse) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_LogsEndpointResponse.Merge(m, src)
|
||||
func (m *LogsResponse) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_LogsResponse.Merge(m, src)
|
||||
}
|
||||
func (m *LogsEndpointResponse) XXX_Size() int {
|
||||
func (m *LogsResponse) XXX_Size() int {
|
||||
return m.Size()
|
||||
}
|
||||
func (m *LogsEndpointResponse) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_LogsEndpointResponse.DiscardUnknown(m)
|
||||
func (m *LogsResponse) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_LogsResponse.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_LogsEndpointResponse proto.InternalMessageInfo
|
||||
var xxx_messageInfo_LogsResponse proto.InternalMessageInfo
|
||||
|
||||
func (m *LogsEndpointResponse) GetBeaconLogsEndpoint() string {
|
||||
func (m *LogsResponse) GetLogs() []string {
|
||||
if m != nil {
|
||||
return m.BeaconLogsEndpoint
|
||||
return m.Logs
|
||||
}
|
||||
return ""
|
||||
return nil
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterType((*LogsEndpointResponse)(nil), "ethereum.beacon.rpc.v1.LogsEndpointResponse")
|
||||
proto.RegisterType((*LogsResponse)(nil), "ethereum.beacon.rpc.v1.LogsResponse")
|
||||
}
|
||||
|
||||
func init() { proto.RegisterFile("proto/beacon/rpc/v1/health.proto", fileDescriptor_2e4b7e98e3e10444) }
|
||||
|
||||
var fileDescriptor_2e4b7e98e3e10444 = []byte{
|
||||
// 258 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0xc1, 0x4a, 0xc3, 0x40,
|
||||
0x10, 0x86, 0x59, 0x0f, 0x05, 0x17, 0x41, 0x58, 0x4a, 0x91, 0x2a, 0xa1, 0x04, 0x0f, 0x22, 0xb2,
|
||||
0x63, 0xf4, 0x0d, 0x84, 0x62, 0x0f, 0x9e, 0xfa, 0x02, 0x65, 0x13, 0xc7, 0x6c, 0x20, 0xdd, 0x59,
|
||||
0xb2, 0xd3, 0x80, 0x57, 0xbd, 0x7b, 0xf1, 0xa5, 0x3c, 0x0a, 0xbe, 0x80, 0x04, 0x1f, 0x44, 0x9a,
|
||||
0x6d, 0xa0, 0x87, 0x1e, 0x87, 0x6f, 0x7e, 0xfe, 0x6f, 0x46, 0xce, 0x7c, 0x43, 0x4c, 0x90, 0xa3,
|
||||
0x29, 0xc8, 0x41, 0xe3, 0x0b, 0x68, 0x33, 0xb0, 0x68, 0x6a, 0xb6, 0xba, 0x47, 0x6a, 0x82, 0x6c,
|
||||
0xb1, 0xc1, 0xcd, 0x5a, 0xc7, 0x25, 0xdd, 0xf8, 0x42, 0xb7, 0xd9, 0xf4, 0xa2, 0x24, 0x2a, 0x6b,
|
||||
0x04, 0xe3, 0x2b, 0x30, 0xce, 0x11, 0x1b, 0xae, 0xc8, 0x85, 0x98, 0x9a, 0x9e, 0xef, 0x68, 0x3f,
|
||||
0xe5, 0x9b, 0x17, 0xc0, 0xb5, 0xe7, 0xd7, 0x08, 0xd3, 0x85, 0x1c, 0x3f, 0x51, 0x19, 0xe6, 0xee,
|
||||
0xd9, 0x53, 0xe5, 0x78, 0x89, 0xc1, 0x93, 0x0b, 0xa8, 0x6e, 0xe5, 0x38, 0x76, 0xac, 0x6a, 0x2a,
|
||||
0xc3, 0x0a, 0x77, 0xfc, 0x4c, 0xcc, 0xc4, 0xd5, 0xf1, 0x52, 0x45, 0xb6, 0x9f, 0xbc, 0xfb, 0x10,
|
||||
0x72, 0xb4, 0xe8, 0x6d, 0xd5, 0xbb, 0x90, 0xa7, 0x8f, 0xc8, 0xfb, 0x58, 0x4d, 0x74, 0xd4, 0xd0,
|
||||
0x83, 0x86, 0x9e, 0x6f, 0x35, 0xa6, 0x37, 0xfa, 0xf0, 0x51, 0xfa, 0x90, 0x56, 0x7a, 0xfd, 0xf6,
|
||||
0xf3, 0xf7, 0x79, 0x74, 0xa9, 0x52, 0x40, 0xb6, 0xd0, 0x66, 0xa6, 0xf6, 0xd6, 0x0c, 0x5f, 0x82,
|
||||
0xad, 0x2a, 0x0c, 0xaa, 0x0f, 0x27, 0x5f, 0x5d, 0x22, 0xbe, 0xbb, 0x44, 0xfc, 0x76, 0x89, 0xc8,
|
||||
0x47, 0x7d, 0xef, 0xfd, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x73, 0x6a, 0x3d, 0x50, 0x66, 0x01,
|
||||
0x00, 0x00,
|
||||
// 249 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x28, 0x28, 0xca, 0x2f,
|
||||
0xc9, 0xd7, 0x4f, 0x4a, 0x4d, 0x4c, 0xce, 0xcf, 0xd3, 0x2f, 0x2a, 0x48, 0xd6, 0x2f, 0x33, 0xd4,
|
||||
0xcf, 0x48, 0x4d, 0xcc, 0x29, 0xc9, 0xd0, 0x03, 0x4b, 0x09, 0x89, 0xa5, 0x96, 0x64, 0xa4, 0x16,
|
||||
0xa5, 0x96, 0xe6, 0xea, 0x41, 0x14, 0xe9, 0x15, 0x15, 0x24, 0xeb, 0x95, 0x19, 0x4a, 0xc9, 0xa4,
|
||||
0xe7, 0xe7, 0xa7, 0xe7, 0xa4, 0xea, 0x27, 0x16, 0x64, 0xea, 0x27, 0xe6, 0xe5, 0xe5, 0x97, 0x24,
|
||||
0x96, 0x64, 0xe6, 0xe7, 0x15, 0x43, 0x74, 0x49, 0x49, 0x43, 0x65, 0xc1, 0xbc, 0xa4, 0xd2, 0x34,
|
||||
0xfd, 0xd4, 0xdc, 0x82, 0x92, 0x4a, 0x88, 0xa4, 0x92, 0x12, 0x17, 0x8f, 0x4f, 0x7e, 0x7a, 0x71,
|
||||
0x50, 0x6a, 0x71, 0x41, 0x7e, 0x5e, 0x71, 0xaa, 0x90, 0x10, 0x17, 0x4b, 0x4e, 0x7e, 0x7a, 0xb1,
|
||||
0x04, 0xa3, 0x02, 0xb3, 0x06, 0x67, 0x10, 0x98, 0x6d, 0xd4, 0xc6, 0xc8, 0xc5, 0xe6, 0x01, 0x76,
|
||||
0x87, 0x50, 0x0d, 0x97, 0x40, 0x70, 0x49, 0x51, 0x6a, 0x62, 0xae, 0x13, 0xd8, 0x01, 0x20, 0xad,
|
||||
0x42, 0x62, 0x7a, 0x10, 0x0b, 0xf4, 0x60, 0x16, 0xe8, 0xb9, 0x82, 0x2c, 0x90, 0x52, 0xd1, 0xc3,
|
||||
0xee, 0x5c, 0x3d, 0x64, 0x0b, 0x95, 0x34, 0x9a, 0x2e, 0x3f, 0x99, 0xcc, 0xa4, 0x24, 0xa4, 0xa0,
|
||||
0x9f, 0x5a, 0x92, 0xa1, 0x5f, 0x66, 0x98, 0x98, 0x53, 0x90, 0x91, 0x08, 0xf3, 0xb7, 0x3e, 0xc8,
|
||||
0x7e, 0xfd, 0x62, 0xb0, 0x8d, 0x06, 0x8c, 0x4e, 0x3c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24,
|
||||
0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0x63, 0x12, 0x1b, 0xd8, 0x3e, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff,
|
||||
0xff, 0xb7, 0x40, 0x67, 0x57, 0x38, 0x01, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
@@ -115,7 +114,7 @@ const _ = grpc.SupportPackageIsVersion4
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||||
type HealthClient interface {
|
||||
GetLogsEndpoint(ctx context.Context, in *types.Empty, opts ...grpc.CallOption) (*LogsEndpointResponse, error)
|
||||
StreamBeaconLogs(ctx context.Context, in *types.Empty, opts ...grpc.CallOption) (Health_StreamBeaconLogsClient, error)
|
||||
}
|
||||
|
||||
type healthClient struct {
|
||||
@@ -126,64 +125,91 @@ func NewHealthClient(cc *grpc.ClientConn) HealthClient {
|
||||
return &healthClient{cc}
|
||||
}
|
||||
|
||||
func (c *healthClient) GetLogsEndpoint(ctx context.Context, in *types.Empty, opts ...grpc.CallOption) (*LogsEndpointResponse, error) {
|
||||
out := new(LogsEndpointResponse)
|
||||
err := c.cc.Invoke(ctx, "/ethereum.beacon.rpc.v1.Health/GetLogsEndpoint", in, out, opts...)
|
||||
func (c *healthClient) StreamBeaconLogs(ctx context.Context, in *types.Empty, opts ...grpc.CallOption) (Health_StreamBeaconLogsClient, error) {
|
||||
stream, err := c.cc.NewStream(ctx, &_Health_serviceDesc.Streams[0], "/ethereum.beacon.rpc.v1.Health/StreamBeaconLogs", opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
x := &healthStreamBeaconLogsClient{stream}
|
||||
if err := x.ClientStream.SendMsg(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := x.ClientStream.CloseSend(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return x, nil
|
||||
}
|
||||
|
||||
type Health_StreamBeaconLogsClient interface {
|
||||
Recv() (*LogsResponse, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
type healthStreamBeaconLogsClient struct {
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func (x *healthStreamBeaconLogsClient) Recv() (*LogsResponse, error) {
|
||||
m := new(LogsResponse)
|
||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
// HealthServer is the server API for Health service.
|
||||
type HealthServer interface {
|
||||
GetLogsEndpoint(context.Context, *types.Empty) (*LogsEndpointResponse, error)
|
||||
StreamBeaconLogs(*types.Empty, Health_StreamBeaconLogsServer) error
|
||||
}
|
||||
|
||||
// UnimplementedHealthServer can be embedded to have forward compatible implementations.
|
||||
type UnimplementedHealthServer struct {
|
||||
}
|
||||
|
||||
func (*UnimplementedHealthServer) GetLogsEndpoint(ctx context.Context, req *types.Empty) (*LogsEndpointResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetLogsEndpoint not implemented")
|
||||
func (*UnimplementedHealthServer) StreamBeaconLogs(req *types.Empty, srv Health_StreamBeaconLogsServer) error {
|
||||
return status.Errorf(codes.Unimplemented, "method StreamBeaconLogs not implemented")
|
||||
}
|
||||
|
||||
func RegisterHealthServer(s *grpc.Server, srv HealthServer) {
|
||||
s.RegisterService(&_Health_serviceDesc, srv)
|
||||
}
|
||||
|
||||
func _Health_GetLogsEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(types.Empty)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
func _Health_StreamBeaconLogs_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||
m := new(types.Empty)
|
||||
if err := stream.RecvMsg(m); err != nil {
|
||||
return err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(HealthServer).GetLogsEndpoint(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ethereum.beacon.rpc.v1.Health/GetLogsEndpoint",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(HealthServer).GetLogsEndpoint(ctx, req.(*types.Empty))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
return srv.(HealthServer).StreamBeaconLogs(m, &healthStreamBeaconLogsServer{stream})
|
||||
}
|
||||
|
||||
type Health_StreamBeaconLogsServer interface {
|
||||
Send(*LogsResponse) error
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
type healthStreamBeaconLogsServer struct {
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
func (x *healthStreamBeaconLogsServer) Send(m *LogsResponse) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
|
||||
var _Health_serviceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "ethereum.beacon.rpc.v1.Health",
|
||||
HandlerType: (*HealthServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
Methods: []grpc.MethodDesc{},
|
||||
Streams: []grpc.StreamDesc{
|
||||
{
|
||||
MethodName: "GetLogsEndpoint",
|
||||
Handler: _Health_GetLogsEndpoint_Handler,
|
||||
StreamName: "StreamBeaconLogs",
|
||||
Handler: _Health_StreamBeaconLogs_Handler,
|
||||
ServerStreams: true,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "proto/beacon/rpc/v1/health.proto",
|
||||
}
|
||||
|
||||
func (m *LogsEndpointResponse) Marshal() (dAtA []byte, err error) {
|
||||
func (m *LogsResponse) Marshal() (dAtA []byte, err error) {
|
||||
size := m.Size()
|
||||
dAtA = make([]byte, size)
|
||||
n, err := m.MarshalToSizedBuffer(dAtA[:size])
|
||||
@@ -193,12 +219,12 @@ func (m *LogsEndpointResponse) Marshal() (dAtA []byte, err error) {
|
||||
return dAtA[:n], nil
|
||||
}
|
||||
|
||||
func (m *LogsEndpointResponse) MarshalTo(dAtA []byte) (int, error) {
|
||||
func (m *LogsResponse) MarshalTo(dAtA []byte) (int, error) {
|
||||
size := m.Size()
|
||||
return m.MarshalToSizedBuffer(dAtA[:size])
|
||||
}
|
||||
|
||||
func (m *LogsEndpointResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
func (m *LogsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
i := len(dAtA)
|
||||
_ = i
|
||||
var l int
|
||||
@@ -207,12 +233,14 @@ func (m *LogsEndpointResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
i -= len(m.XXX_unrecognized)
|
||||
copy(dAtA[i:], m.XXX_unrecognized)
|
||||
}
|
||||
if len(m.BeaconLogsEndpoint) > 0 {
|
||||
i -= len(m.BeaconLogsEndpoint)
|
||||
copy(dAtA[i:], m.BeaconLogsEndpoint)
|
||||
i = encodeVarintHealth(dAtA, i, uint64(len(m.BeaconLogsEndpoint)))
|
||||
i--
|
||||
dAtA[i] = 0xa
|
||||
if len(m.Logs) > 0 {
|
||||
for iNdEx := len(m.Logs) - 1; iNdEx >= 0; iNdEx-- {
|
||||
i -= len(m.Logs[iNdEx])
|
||||
copy(dAtA[i:], m.Logs[iNdEx])
|
||||
i = encodeVarintHealth(dAtA, i, uint64(len(m.Logs[iNdEx])))
|
||||
i--
|
||||
dAtA[i] = 0xa
|
||||
}
|
||||
}
|
||||
return len(dAtA) - i, nil
|
||||
}
|
||||
@@ -228,15 +256,17 @@ func encodeVarintHealth(dAtA []byte, offset int, v uint64) int {
|
||||
dAtA[offset] = uint8(v)
|
||||
return base
|
||||
}
|
||||
func (m *LogsEndpointResponse) Size() (n int) {
|
||||
func (m *LogsResponse) Size() (n int) {
|
||||
if m == nil {
|
||||
return 0
|
||||
}
|
||||
var l int
|
||||
_ = l
|
||||
l = len(m.BeaconLogsEndpoint)
|
||||
if l > 0 {
|
||||
n += 1 + l + sovHealth(uint64(l))
|
||||
if len(m.Logs) > 0 {
|
||||
for _, s := range m.Logs {
|
||||
l = len(s)
|
||||
n += 1 + l + sovHealth(uint64(l))
|
||||
}
|
||||
}
|
||||
if m.XXX_unrecognized != nil {
|
||||
n += len(m.XXX_unrecognized)
|
||||
@@ -250,7 +280,7 @@ func sovHealth(x uint64) (n int) {
|
||||
func sozHealth(x uint64) (n int) {
|
||||
return sovHealth(uint64((x << 1) ^ uint64((int64(x) >> 63))))
|
||||
}
|
||||
func (m *LogsEndpointResponse) Unmarshal(dAtA []byte) error {
|
||||
func (m *LogsResponse) Unmarshal(dAtA []byte) error {
|
||||
l := len(dAtA)
|
||||
iNdEx := 0
|
||||
for iNdEx < l {
|
||||
@@ -273,15 +303,15 @@ func (m *LogsEndpointResponse) Unmarshal(dAtA []byte) error {
|
||||
fieldNum := int32(wire >> 3)
|
||||
wireType := int(wire & 0x7)
|
||||
if wireType == 4 {
|
||||
return fmt.Errorf("proto: LogsEndpointResponse: wiretype end group for non-group")
|
||||
return fmt.Errorf("proto: LogsResponse: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: LogsEndpointResponse: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
return fmt.Errorf("proto: LogsResponse: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field BeaconLogsEndpoint", wireType)
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Logs", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
@@ -309,7 +339,7 @@ func (m *LogsEndpointResponse) Unmarshal(dAtA []byte) error {
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.BeaconLogsEndpoint = string(dAtA[iNdEx:postIndex])
|
||||
m.Logs = append(m.Logs, string(dAtA[iNdEx:postIndex]))
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
|
||||
@@ -8,17 +8,15 @@ import "google/protobuf/empty.proto";
|
||||
// Health service API
|
||||
//
|
||||
// The health service is able to return important metadata about a beacon node
|
||||
// such as the address of the logs websocket endpoint used by web clients.
|
||||
// such being able to stream logs via gRPC.
|
||||
service Health {
|
||||
// Returns the websocket endpoint which can be reached to subscribe
|
||||
// to logs from the beacon node.
|
||||
rpc GetLogsEndpoint(google.protobuf.Empty) returns (LogsEndpointResponse) {
|
||||
rpc StreamBeaconLogs(google.protobuf.Empty) returns (stream LogsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/eth/v1alpha1/health/logs/endpoint"
|
||||
get: "/eth/v1alpha1/health/logs/stream"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
message LogsEndpointResponse {
|
||||
string beacon_logs_endpoint = 1;
|
||||
message LogsResponse {
|
||||
repeated string logs = 1;
|
||||
}
|
||||
|
||||
142
proto/beacon/rpc/v1_gateway/health.pb.go
generated
142
proto/beacon/rpc/v1_gateway/health.pb.go
generated
@@ -32,16 +32,16 @@ const (
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
type LogsEndpointResponse struct {
|
||||
type LogsResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
BeaconLogsEndpoint string `protobuf:"bytes,1,opt,name=beacon_logs_endpoint,json=beaconLogsEndpoint,proto3" json:"beacon_logs_endpoint,omitempty"`
|
||||
Logs []string `protobuf:"bytes,1,rep,name=logs,proto3" json:"logs,omitempty"`
|
||||
}
|
||||
|
||||
func (x *LogsEndpointResponse) Reset() {
|
||||
*x = LogsEndpointResponse{}
|
||||
func (x *LogsResponse) Reset() {
|
||||
*x = LogsResponse{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_proto_beacon_rpc_v1_health_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
@@ -49,13 +49,13 @@ func (x *LogsEndpointResponse) Reset() {
|
||||
}
|
||||
}
|
||||
|
||||
func (x *LogsEndpointResponse) String() string {
|
||||
func (x *LogsResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*LogsEndpointResponse) ProtoMessage() {}
|
||||
func (*LogsResponse) ProtoMessage() {}
|
||||
|
||||
func (x *LogsEndpointResponse) ProtoReflect() protoreflect.Message {
|
||||
func (x *LogsResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_proto_beacon_rpc_v1_health_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
@@ -67,16 +67,16 @@ func (x *LogsEndpointResponse) ProtoReflect() protoreflect.Message {
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use LogsEndpointResponse.ProtoReflect.Descriptor instead.
|
||||
func (*LogsEndpointResponse) Descriptor() ([]byte, []int) {
|
||||
// Deprecated: Use LogsResponse.ProtoReflect.Descriptor instead.
|
||||
func (*LogsResponse) Descriptor() ([]byte, []int) {
|
||||
return file_proto_beacon_rpc_v1_health_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *LogsEndpointResponse) GetBeaconLogsEndpoint() string {
|
||||
func (x *LogsResponse) GetLogs() []string {
|
||||
if x != nil {
|
||||
return x.BeaconLogsEndpoint
|
||||
return x.Logs
|
||||
}
|
||||
return ""
|
||||
return nil
|
||||
}
|
||||
|
||||
var File_proto_beacon_rpc_v1_health_proto protoreflect.FileDescriptor
|
||||
@@ -89,21 +89,18 @@ var file_proto_beacon_rpc_v1_health_proto_rawDesc = []byte{
|
||||
0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
||||
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x14, 0x4c, 0x6f, 0x67, 0x73, 0x45, 0x6e, 0x64,
|
||||
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a,
|
||||
0x14, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x65, 0x6e, 0x64,
|
||||
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x65, 0x61,
|
||||
0x63, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x32,
|
||||
0x8e, 0x01, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x83, 0x01, 0x0a, 0x0f, 0x47,
|
||||
0x65, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16,
|
||||
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
||||
0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75,
|
||||
0x6d, 0x2e, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e,
|
||||
0x4c, 0x6f, 0x67, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x65,
|
||||
0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x6c,
|
||||
0x74, 0x68, 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
|
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x22, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20,
|
||||
0x03, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x32, 0x86, 0x01, 0x0a, 0x06, 0x48, 0x65,
|
||||
0x61, 0x6c, 0x74, 0x68, 0x12, 0x7c, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x65,
|
||||
0x61, 0x63, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
|
||||
0x1a, 0x24, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x62, 0x65, 0x61, 0x63,
|
||||
0x6f, 0x6e, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20,
|
||||
0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x68, 0x65,
|
||||
0x61, 0x6c, 0x74, 0x68, 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
|
||||
0x30, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -120,12 +117,12 @@ func file_proto_beacon_rpc_v1_health_proto_rawDescGZIP() []byte {
|
||||
|
||||
var file_proto_beacon_rpc_v1_health_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||
var file_proto_beacon_rpc_v1_health_proto_goTypes = []interface{}{
|
||||
(*LogsEndpointResponse)(nil), // 0: ethereum.beacon.rpc.v1.LogsEndpointResponse
|
||||
(*empty.Empty)(nil), // 1: google.protobuf.Empty
|
||||
(*LogsResponse)(nil), // 0: ethereum.beacon.rpc.v1.LogsResponse
|
||||
(*empty.Empty)(nil), // 1: google.protobuf.Empty
|
||||
}
|
||||
var file_proto_beacon_rpc_v1_health_proto_depIdxs = []int32{
|
||||
1, // 0: ethereum.beacon.rpc.v1.Health.GetLogsEndpoint:input_type -> google.protobuf.Empty
|
||||
0, // 1: ethereum.beacon.rpc.v1.Health.GetLogsEndpoint:output_type -> ethereum.beacon.rpc.v1.LogsEndpointResponse
|
||||
1, // 0: ethereum.beacon.rpc.v1.Health.StreamBeaconLogs:input_type -> google.protobuf.Empty
|
||||
0, // 1: ethereum.beacon.rpc.v1.Health.StreamBeaconLogs:output_type -> ethereum.beacon.rpc.v1.LogsResponse
|
||||
1, // [1:2] is the sub-list for method output_type
|
||||
0, // [0:1] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
@@ -140,7 +137,7 @@ func file_proto_beacon_rpc_v1_health_proto_init() {
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_proto_beacon_rpc_v1_health_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*LogsEndpointResponse); i {
|
||||
switch v := v.(*LogsResponse); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@@ -184,7 +181,7 @@ const _ = grpc.SupportPackageIsVersion6
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||||
type HealthClient interface {
|
||||
GetLogsEndpoint(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*LogsEndpointResponse, error)
|
||||
StreamBeaconLogs(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (Health_StreamBeaconLogsClient, error)
|
||||
}
|
||||
|
||||
type healthClient struct {
|
||||
@@ -195,59 +192,86 @@ func NewHealthClient(cc grpc.ClientConnInterface) HealthClient {
|
||||
return &healthClient{cc}
|
||||
}
|
||||
|
||||
func (c *healthClient) GetLogsEndpoint(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*LogsEndpointResponse, error) {
|
||||
out := new(LogsEndpointResponse)
|
||||
err := c.cc.Invoke(ctx, "/ethereum.beacon.rpc.v1.Health/GetLogsEndpoint", in, out, opts...)
|
||||
func (c *healthClient) StreamBeaconLogs(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (Health_StreamBeaconLogsClient, error) {
|
||||
stream, err := c.cc.NewStream(ctx, &_Health_serviceDesc.Streams[0], "/ethereum.beacon.rpc.v1.Health/StreamBeaconLogs", opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
x := &healthStreamBeaconLogsClient{stream}
|
||||
if err := x.ClientStream.SendMsg(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := x.ClientStream.CloseSend(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return x, nil
|
||||
}
|
||||
|
||||
type Health_StreamBeaconLogsClient interface {
|
||||
Recv() (*LogsResponse, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
type healthStreamBeaconLogsClient struct {
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func (x *healthStreamBeaconLogsClient) Recv() (*LogsResponse, error) {
|
||||
m := new(LogsResponse)
|
||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
// HealthServer is the server API for Health service.
|
||||
type HealthServer interface {
|
||||
GetLogsEndpoint(context.Context, *empty.Empty) (*LogsEndpointResponse, error)
|
||||
StreamBeaconLogs(*empty.Empty, Health_StreamBeaconLogsServer) error
|
||||
}
|
||||
|
||||
// UnimplementedHealthServer can be embedded to have forward compatible implementations.
|
||||
type UnimplementedHealthServer struct {
|
||||
}
|
||||
|
||||
func (*UnimplementedHealthServer) GetLogsEndpoint(context.Context, *empty.Empty) (*LogsEndpointResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetLogsEndpoint not implemented")
|
||||
func (*UnimplementedHealthServer) StreamBeaconLogs(*empty.Empty, Health_StreamBeaconLogsServer) error {
|
||||
return status.Errorf(codes.Unimplemented, "method StreamBeaconLogs not implemented")
|
||||
}
|
||||
|
||||
func RegisterHealthServer(s *grpc.Server, srv HealthServer) {
|
||||
s.RegisterService(&_Health_serviceDesc, srv)
|
||||
}
|
||||
|
||||
func _Health_GetLogsEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(empty.Empty)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
func _Health_StreamBeaconLogs_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||
m := new(empty.Empty)
|
||||
if err := stream.RecvMsg(m); err != nil {
|
||||
return err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(HealthServer).GetLogsEndpoint(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ethereum.beacon.rpc.v1.Health/GetLogsEndpoint",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(HealthServer).GetLogsEndpoint(ctx, req.(*empty.Empty))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
return srv.(HealthServer).StreamBeaconLogs(m, &healthStreamBeaconLogsServer{stream})
|
||||
}
|
||||
|
||||
type Health_StreamBeaconLogsServer interface {
|
||||
Send(*LogsResponse) error
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
type healthStreamBeaconLogsServer struct {
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
func (x *healthStreamBeaconLogsServer) Send(m *LogsResponse) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
|
||||
var _Health_serviceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "ethereum.beacon.rpc.v1.Health",
|
||||
HandlerType: (*HealthServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
Methods: []grpc.MethodDesc{},
|
||||
Streams: []grpc.StreamDesc{
|
||||
{
|
||||
MethodName: "GetLogsEndpoint",
|
||||
Handler: _Health_GetLogsEndpoint_Handler,
|
||||
StreamName: "StreamBeaconLogs",
|
||||
Handler: _Health_StreamBeaconLogs_Handler,
|
||||
ServerStreams: true,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "proto/beacon/rpc/v1/health.proto",
|
||||
}
|
||||
|
||||
@@ -32,21 +32,20 @@ var _ = runtime.String
|
||||
var _ = utilities.NewDoubleArray
|
||||
var _ = descriptor.ForMessage
|
||||
|
||||
func request_Health_GetLogsEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client HealthClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||
func request_Health_StreamBeaconLogs_0(ctx context.Context, marshaler runtime.Marshaler, client HealthClient, req *http.Request, pathParams map[string]string) (Health_StreamBeaconLogsClient, runtime.ServerMetadata, error) {
|
||||
var protoReq empty.Empty
|
||||
var metadata runtime.ServerMetadata
|
||||
|
||||
msg, err := client.GetLogsEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
|
||||
return msg, metadata, err
|
||||
|
||||
}
|
||||
|
||||
func local_request_Health_GetLogsEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server HealthServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||
var protoReq empty.Empty
|
||||
var metadata runtime.ServerMetadata
|
||||
|
||||
msg, err := server.GetLogsEndpoint(ctx, &protoReq)
|
||||
return msg, metadata, err
|
||||
stream, err := client.StreamBeaconLogs(ctx, &protoReq)
|
||||
if err != nil {
|
||||
return nil, metadata, err
|
||||
}
|
||||
header, err := stream.Header()
|
||||
if err != nil {
|
||||
return nil, metadata, err
|
||||
}
|
||||
metadata.HeaderMD = header
|
||||
return stream, metadata, nil
|
||||
|
||||
}
|
||||
|
||||
@@ -55,24 +54,11 @@ func local_request_Health_GetLogsEndpoint_0(ctx context.Context, marshaler runti
|
||||
// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
|
||||
func RegisterHealthHandlerServer(ctx context.Context, mux *runtime.ServeMux, server HealthServer) error {
|
||||
|
||||
mux.Handle("GET", pattern_Health_GetLogsEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||
ctx, cancel := context.WithCancel(req.Context())
|
||||
defer cancel()
|
||||
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
|
||||
rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req)
|
||||
if err != nil {
|
||||
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||
return
|
||||
}
|
||||
resp, md, err := local_request_Health_GetLogsEndpoint_0(rctx, inboundMarshaler, server, req, pathParams)
|
||||
ctx = runtime.NewServerMetadataContext(ctx, md)
|
||||
if err != nil {
|
||||
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||
return
|
||||
}
|
||||
|
||||
forward_Health_GetLogsEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
|
||||
|
||||
mux.Handle("GET", pattern_Health_StreamBeaconLogs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||
err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport")
|
||||
_, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
|
||||
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||
return
|
||||
})
|
||||
|
||||
return nil
|
||||
@@ -116,7 +102,7 @@ func RegisterHealthHandler(ctx context.Context, mux *runtime.ServeMux, conn *grp
|
||||
// "HealthClient" to call the correct interceptors.
|
||||
func RegisterHealthHandlerClient(ctx context.Context, mux *runtime.ServeMux, client HealthClient) error {
|
||||
|
||||
mux.Handle("GET", pattern_Health_GetLogsEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||
mux.Handle("GET", pattern_Health_StreamBeaconLogs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||
ctx, cancel := context.WithCancel(req.Context())
|
||||
defer cancel()
|
||||
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
|
||||
@@ -125,14 +111,14 @@ func RegisterHealthHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli
|
||||
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||
return
|
||||
}
|
||||
resp, md, err := request_Health_GetLogsEndpoint_0(rctx, inboundMarshaler, client, req, pathParams)
|
||||
resp, md, err := request_Health_StreamBeaconLogs_0(rctx, inboundMarshaler, client, req, pathParams)
|
||||
ctx = runtime.NewServerMetadataContext(ctx, md)
|
||||
if err != nil {
|
||||
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||
return
|
||||
}
|
||||
|
||||
forward_Health_GetLogsEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
|
||||
forward_Health_StreamBeaconLogs_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...)
|
||||
|
||||
})
|
||||
|
||||
@@ -140,9 +126,9 @@ func RegisterHealthHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli
|
||||
}
|
||||
|
||||
var (
|
||||
pattern_Health_GetLogsEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"eth", "v1alpha1", "health", "logs", "endpoint"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
pattern_Health_StreamBeaconLogs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"eth", "v1alpha1", "health", "logs", "stream"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
)
|
||||
|
||||
var (
|
||||
forward_Health_GetLogsEndpoint_0 = runtime.ForwardResponseMessage
|
||||
forward_Health_StreamBeaconLogs_0 = runtime.ForwardResponseStream
|
||||
)
|
||||
|
||||
@@ -11,6 +11,7 @@ proto_library(
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//proto/beacon/rpc/v1:v1_proto",
|
||||
"@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:proto",
|
||||
"@com_google_protobuf//:empty_proto",
|
||||
"@go_googleapis//google/api:annotations_proto",
|
||||
@@ -28,6 +29,7 @@ go_proto_library(
|
||||
proto = ":ethereum_validator_accounts_v2_proto",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//proto/beacon/rpc/v1:go_default_library",
|
||||
"@com_github_golang_protobuf//descriptor:go_default_library",
|
||||
"@com_github_golang_protobuf//ptypes/empty:go_default_library",
|
||||
"@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
|
||||
@@ -45,6 +47,7 @@ go_proto_library(
|
||||
proto = ":ethereum_validator_accounts_v2_proto",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//proto/beacon/rpc/v1:go_default_library",
|
||||
"@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
|
||||
"@go_googleapis//google/api:annotations_go_proto",
|
||||
],
|
||||
|
||||
263
proto/validator/accounts/v2/web_api.pb.go
generated
263
proto/validator/accounts/v2/web_api.pb.go
generated
@@ -14,6 +14,7 @@ import (
|
||||
proto "github.com/gogo/protobuf/proto"
|
||||
types "github.com/gogo/protobuf/types"
|
||||
v1alpha1 "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1"
|
||||
v1 "github.com/prysmaticlabs/prysm/proto/beacon/rpc/v1"
|
||||
_ "google.golang.org/genproto/googleapis/api/annotations"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
@@ -1316,131 +1317,133 @@ func init() {
|
||||
}
|
||||
|
||||
var fileDescriptor_8a5153635bfe042e = []byte{
|
||||
// 1979 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0xcf, 0x6f, 0x1c, 0x49,
|
||||
0xf5, 0xff, 0xb6, 0xed, 0x38, 0xe3, 0x37, 0xe3, 0x1f, 0x29, 0x3b, 0xf6, 0x64, 0xe2, 0xd8, 0x4e,
|
||||
0x67, 0x13, 0x3b, 0x4e, 0x76, 0x26, 0x3b, 0xf9, 0x6e, 0x12, 0xe5, 0x82, 0xe2, 0xf1, 0x90, 0x44,
|
||||
0xce, 0x0f, 0xd3, 0xf1, 0x26, 0xe2, 0xb2, 0xad, 0x72, 0x77, 0xa5, 0xa7, 0xe4, 0x99, 0xea, 0xde,
|
||||
0xee, 0x1a, 0xc7, 0x0e, 0x17, 0x58, 0xad, 0x84, 0x00, 0x71, 0x80, 0x3d, 0x20, 0x24, 0x84, 0x04,
|
||||
0x67, 0x0e, 0x20, 0x21, 0xed, 0xbf, 0xc0, 0x11, 0x09, 0xee, 0xa0, 0x88, 0x0b, 0xf0, 0x4f, 0xa0,
|
||||
0xaa, 0xae, 0xea, 0x1f, 0x93, 0xe9, 0x1d, 0x5b, 0xc0, 0x85, 0x5b, 0xd7, 0xfb, 0xf9, 0xa9, 0x57,
|
||||
0xaf, 0xde, 0x7b, 0xd5, 0x70, 0x3d, 0x08, 0x7d, 0xee, 0x37, 0x0e, 0x71, 0x97, 0xba, 0x98, 0xfb,
|
||||
0x61, 0x03, 0x3b, 0x8e, 0xdf, 0x67, 0x3c, 0x6a, 0x1c, 0x36, 0x1b, 0x6f, 0xc8, 0xbe, 0x8d, 0x03,
|
||||
0x5a, 0x97, 0x32, 0x68, 0x85, 0xf0, 0x0e, 0x09, 0x49, 0xbf, 0x57, 0x4f, 0xa4, 0xeb, 0x5a, 0xba,
|
||||
0x7e, 0xd8, 0xac, 0xad, 0x12, 0xde, 0x69, 0x1c, 0x7e, 0x84, 0xbb, 0x41, 0x07, 0x7f, 0xd4, 0xd8,
|
||||
0x27, 0xd8, 0xf1, 0x99, 0xed, 0x74, 0x30, 0x65, 0xb1, 0x81, 0xda, 0x52, 0x4e, 0x80, 0xf9, 0x2e,
|
||||
0x51, 0x8c, 0xe5, 0x1c, 0x23, 0xb5, 0xae, 0xb8, 0x9e, 0xef, 0x7b, 0x5d, 0xd2, 0xc0, 0x01, 0x6d,
|
||||
0x60, 0xc6, 0x7c, 0x8e, 0x39, 0xf5, 0x59, 0xa4, 0xb8, 0x17, 0x15, 0x57, 0xae, 0xf6, 0xfb, 0xaf,
|
||||
0x1b, 0xa4, 0x17, 0xf0, 0x63, 0xc5, 0xfc, 0xd0, 0xa3, 0xbc, 0xd3, 0xdf, 0xaf, 0x3b, 0x7e, 0xaf,
|
||||
0xe1, 0xf9, 0x9e, 0x9f, 0x4a, 0x89, 0x55, 0xbc, 0x75, 0xf1, 0x15, 0x8b, 0x9b, 0xff, 0x1c, 0x83,
|
||||
0xf9, 0x56, 0x48, 0x30, 0x27, 0xaf, 0x70, 0xb7, 0x4b, 0xb8, 0x45, 0x3e, 0xeb, 0x93, 0x88, 0xa3,
|
||||
0x67, 0x00, 0x07, 0xe4, 0xb8, 0x87, 0x19, 0xf6, 0x48, 0x58, 0x35, 0xd6, 0x8c, 0x8d, 0x99, 0x66,
|
||||
0xbd, 0xfe, 0xf5, 0xe1, 0xa8, 0xef, 0x24, 0x1a, 0x3b, 0x94, 0xb9, 0x56, 0xc6, 0x02, 0x5a, 0x87,
|
||||
0xd9, 0x37, 0xd2, 0x81, 0x1d, 0xe0, 0x28, 0x7a, 0xe3, 0x87, 0x6e, 0x75, 0x6c, 0xcd, 0xd8, 0x98,
|
||||
0xb2, 0x66, 0x62, 0xf2, 0xae, 0xa2, 0xa2, 0x1a, 0x94, 0x7a, 0x8c, 0xf4, 0x7c, 0x46, 0x9d, 0xea,
|
||||
0xb8, 0x94, 0x48, 0xd6, 0xe8, 0x32, 0x54, 0x58, 0xbf, 0x67, 0x6b, 0x97, 0xd5, 0x89, 0x35, 0x63,
|
||||
0x63, 0xc2, 0x2a, 0xb3, 0x7e, 0xef, 0x81, 0x22, 0xa1, 0x55, 0x28, 0x87, 0xa4, 0xe7, 0x73, 0x62,
|
||||
0x63, 0xd7, 0x0d, 0xab, 0x67, 0xa4, 0x05, 0x88, 0x49, 0x0f, 0x5c, 0x37, 0x44, 0xd7, 0x60, 0x56,
|
||||
0x09, 0x38, 0xa1, 0x00, 0xc3, 0x3b, 0xd5, 0x49, 0x29, 0x34, 0x1d, 0x93, 0x5b, 0x21, 0xdf, 0xc5,
|
||||
0xbc, 0x93, 0x91, 0x3b, 0x20, 0xc7, 0xb1, 0xdc, 0xd9, 0xac, 0xdc, 0x0e, 0x39, 0x96, 0x72, 0x37,
|
||||
0x00, 0x69, 0x7b, 0x38, 0x35, 0x59, 0x92, 0xa2, 0xca, 0x42, 0x0b, 0x2b, 0xa3, 0xe6, 0xa7, 0xb0,
|
||||
0x90, 0x0f, 0x76, 0x14, 0xf8, 0x2c, 0x22, 0xe8, 0x9b, 0x30, 0x19, 0x87, 0x41, 0x46, 0xba, 0x3c,
|
||||
0x3a, 0xd2, 0x79, 0x7d, 0x4b, 0x69, 0x9b, 0x5f, 0x19, 0xb0, 0xd4, 0x76, 0x29, 0x8f, 0xd9, 0x2d,
|
||||
0x9f, 0xbd, 0xa6, 0x9e, 0x3e, 0xd1, 0x81, 0xc8, 0x18, 0x27, 0x89, 0xcc, 0xd8, 0x09, 0x23, 0x33,
|
||||
0x7e, 0xf2, 0xc8, 0x4c, 0x0c, 0x8f, 0xcc, 0x1d, 0xa8, 0x3e, 0x24, 0x8c, 0x84, 0x98, 0x93, 0xa7,
|
||||
0xea, 0xb8, 0x93, 0xe8, 0x64, 0x53, 0xc2, 0xc8, 0xa7, 0x84, 0xf9, 0x43, 0x03, 0x66, 0x06, 0x82,
|
||||
0xb9, 0x0a, 0xe5, 0x24, 0xd5, 0x78, 0x47, 0x6f, 0x54, 0xa7, 0x19, 0xef, 0xa0, 0x57, 0x30, 0x9b,
|
||||
0x66, 0xa6, 0x7d, 0x40, 0x59, 0x9c, 0x8b, 0xa7, 0x4f, 0xf0, 0x99, 0x83, 0xdc, 0xda, 0xfc, 0xa9,
|
||||
0x01, 0xf3, 0x4f, 0x68, 0xc4, 0x75, 0x36, 0xea, 0xd0, 0x7f, 0x08, 0xf3, 0x1e, 0xe1, 0xb6, 0x4b,
|
||||
0x02, 0x3f, 0xa2, 0xdc, 0xe6, 0x47, 0xb6, 0x8b, 0x39, 0x96, 0xc8, 0x4a, 0xd6, 0x9c, 0x47, 0xf8,
|
||||
0x76, 0xcc, 0xd9, 0x3b, 0xda, 0xc6, 0x1c, 0xa3, 0x8b, 0x30, 0x15, 0x60, 0x8f, 0xd8, 0x11, 0x7d,
|
||||
0x4b, 0x24, 0xb2, 0x33, 0x56, 0x49, 0x10, 0x5e, 0xd0, 0xb7, 0x04, 0x5d, 0x02, 0x90, 0x4c, 0xee,
|
||||
0x1f, 0x10, 0xa6, 0x02, 0x2f, 0xc5, 0xf7, 0x04, 0x01, 0xcd, 0xc1, 0x38, 0xee, 0x76, 0x65, 0x94,
|
||||
0x4b, 0x96, 0xf8, 0x34, 0x7f, 0x6d, 0xc0, 0x42, 0x1e, 0x94, 0x8a, 0x53, 0x0b, 0x4a, 0xc9, 0x4d,
|
||||
0x32, 0xd6, 0xc6, 0x37, 0xca, 0xcd, 0xf5, 0x51, 0xfb, 0x57, 0x36, 0xac, 0x44, 0x51, 0x24, 0x03,
|
||||
0x23, 0x47, 0x22, 0xd4, 0x09, 0x26, 0x95, 0x34, 0x82, 0xbc, 0x9b, 0xe0, 0xba, 0x04, 0xc0, 0x7d,
|
||||
0x8e, 0xbb, 0xf1, 0xa6, 0xc6, 0xe5, 0xa6, 0xa6, 0x24, 0x45, 0xec, 0xca, 0xfc, 0x9d, 0x01, 0x67,
|
||||
0x95, 0x71, 0xd4, 0x84, 0xf3, 0xca, 0x3b, 0x65, 0x9e, 0x1d, 0xf4, 0xf7, 0xbb, 0xd4, 0x11, 0xa9,
|
||||
0x26, 0xe3, 0x55, 0xb1, 0xe6, 0x53, 0xe6, 0xae, 0xe4, 0xed, 0x90, 0x63, 0x51, 0x19, 0x14, 0x24,
|
||||
0x9b, 0xe1, 0x1e, 0x51, 0x18, 0xca, 0x8a, 0xf6, 0x0c, 0xf7, 0x88, 0x40, 0x3a, 0x78, 0x00, 0xe3,
|
||||
0xd2, 0xe0, 0xb4, 0x9b, 0x8b, 0xfe, 0xba, 0x90, 0x0b, 0xe9, 0xa1, 0x2c, 0xb9, 0xd9, 0x9c, 0x9d,
|
||||
0x49, 0xc9, 0x32, 0x65, 0x77, 0x60, 0x46, 0xc7, 0x23, 0xbd, 0x62, 0x29, 0xdc, 0x38, 0xa8, 0x15,
|
||||
0x0b, 0x02, 0x8d, 0x32, 0x42, 0x55, 0x38, 0x4b, 0x99, 0x4b, 0x1d, 0x12, 0x55, 0xc7, 0xd6, 0xc6,
|
||||
0x37, 0x26, 0x2c, 0xbd, 0x34, 0x3f, 0x85, 0xf2, 0x83, 0x3e, 0xef, 0x68, 0x4b, 0x35, 0x28, 0x25,
|
||||
0x75, 0x52, 0xa5, 0xbc, 0x5e, 0xa3, 0xdb, 0x70, 0x5e, 0x7f, 0xdb, 0x8e, 0xb8, 0xe2, 0x61, 0x4f,
|
||||
0x82, 0x52, 0x9b, 0x5e, 0xd0, 0xcc, 0x56, 0x86, 0x67, 0x3e, 0x87, 0x4a, 0x6c, 0x5f, 0x1d, 0xfe,
|
||||
0x02, 0x9c, 0x89, 0x4f, 0x2b, 0xb6, 0x1e, 0x2f, 0xd0, 0x75, 0x98, 0x93, 0x1f, 0x36, 0x39, 0x0a,
|
||||
0x68, 0x98, 0x5a, 0x9d, 0xb0, 0x66, 0x25, 0xbd, 0x9d, 0x90, 0xcd, 0xbf, 0x18, 0xb0, 0xf8, 0xcc,
|
||||
0x77, 0x49, 0xcb, 0x67, 0x8c, 0x38, 0x82, 0x94, 0xd8, 0xbe, 0x05, 0x0b, 0xaa, 0x15, 0x8a, 0x86,
|
||||
0x67, 0x13, 0xe6, 0x06, 0x3e, 0x65, 0x5c, 0xb9, 0x42, 0x31, 0x4f, 0xe8, 0xb6, 0x15, 0x07, 0x2d,
|
||||
0xc3, 0x94, 0x13, 0xdb, 0x21, 0xf1, 0x5d, 0x2c, 0x59, 0x29, 0x41, 0x44, 0x2d, 0x3a, 0x66, 0x0e,
|
||||
0x65, 0x9e, 0x3c, 0xb1, 0x92, 0xa5, 0x97, 0xe2, 0xd8, 0x3d, 0xc2, 0x48, 0x44, 0x23, 0x9b, 0xd3,
|
||||
0x1e, 0xd1, 0x0d, 0x41, 0xd1, 0xf6, 0x68, 0x8f, 0xa0, 0x7b, 0x50, 0xd5, 0xc7, 0xee, 0xf8, 0x8c,
|
||||
0x87, 0xd8, 0xe1, 0xb2, 0x00, 0x92, 0x28, 0x92, 0xdd, 0xa1, 0x62, 0x2d, 0x2a, 0x7e, 0x4b, 0xb1,
|
||||
0x1f, 0xc4, 0x5c, 0xf3, 0xbb, 0xe2, 0xe2, 0xf8, 0x5e, 0xa4, 0x51, 0x26, 0xfb, 0xbb, 0x03, 0x4b,
|
||||
0xc9, 0xf5, 0xb0, 0xbb, 0xbe, 0x17, 0x0d, 0x6e, 0xf1, 0x7c, 0xc2, 0xce, 0xea, 0x67, 0xe2, 0x92,
|
||||
0x57, 0x1a, 0xcb, 0xc6, 0x25, 0xab, 0x61, 0x7e, 0x69, 0xc0, 0xf9, 0x56, 0x07, 0x33, 0x8f, 0xe8,
|
||||
0xfe, 0xa8, 0x13, 0xe4, 0x3a, 0xcc, 0x39, 0xfd, 0x30, 0x24, 0x2c, 0xd3, 0x50, 0x63, 0xe7, 0xb3,
|
||||
0x8a, 0x9e, 0xed, 0xa8, 0x03, 0x3d, 0xf7, 0x04, 0xb9, 0x34, 0xfe, 0x35, 0xb9, 0x74, 0x0f, 0xce,
|
||||
0x3d, 0xc2, 0xd1, 0x40, 0xd5, 0xbd, 0x02, 0xd3, 0xaa, 0xea, 0x92, 0x23, 0x1a, 0xc9, 0x92, 0x22,
|
||||
0x8e, 0xaa, 0x12, 0x13, 0xdb, 0x92, 0x66, 0x1e, 0xc2, 0xe2, 0xe3, 0x5e, 0xe0, 0x87, 0x5c, 0xdc,
|
||||
0x06, 0xee, 0x87, 0x24, 0x53, 0x22, 0xd1, 0x81, 0xa6, 0xd9, 0x54, 0xca, 0x10, 0x57, 0xde, 0xa0,
|
||||
0x29, 0xeb, 0x5c, 0xc2, 0x79, 0xac, 0x18, 0x79, 0xf1, 0x81, 0xdd, 0xa5, 0xe2, 0x3a, 0x04, 0xe6,
|
||||
0x0e, 0x2c, 0xbd, 0xe7, 0x37, 0x4d, 0x56, 0xed, 0xce, 0x7e, 0xff, 0xf2, 0x22, 0xcd, 0x4b, 0x4a,
|
||||
0x4d, 0x64, 0xbe, 0x02, 0xf4, 0x08, 0x47, 0x9f, 0x44, 0xc4, 0x7d, 0x45, 0xf6, 0x13, 0x3b, 0x26,
|
||||
0x4c, 0x77, 0x70, 0x64, 0x47, 0xd4, 0x63, 0xc4, 0xb5, 0xfb, 0x81, 0xda, 0x7f, 0xb9, 0x83, 0xa3,
|
||||
0x17, 0x92, 0xf6, 0x49, 0x20, 0x8a, 0xa0, 0x90, 0x51, 0xad, 0x5e, 0xe5, 0x79, 0x47, 0x87, 0xd2,
|
||||
0x34, 0xa1, 0x22, 0x4e, 0x3f, 0x31, 0x89, 0x60, 0x42, 0x24, 0x8a, 0x8a, 0x82, 0xfc, 0x36, 0x7f,
|
||||
0x39, 0x06, 0x0b, 0x5b, 0x32, 0x51, 0x5e, 0x70, 0xcc, 0xfb, 0xd1, 0xff, 0xd8, 0xa5, 0x43, 0xdf,
|
||||
0x00, 0x90, 0xf3, 0xb3, 0xdd, 0x21, 0xd8, 0x95, 0x93, 0x59, 0xb9, 0xb9, 0x96, 0xb6, 0x25, 0xc2,
|
||||
0x3b, 0x75, 0x3d, 0x35, 0xd7, 0x5b, 0x42, 0xf0, 0x11, 0xc1, 0xae, 0x35, 0xe5, 0xe8, 0xcf, 0xcd,
|
||||
0xbb, 0x30, 0x93, 0xef, 0xd2, 0xa8, 0x0c, 0x67, 0xb7, 0xdb, 0xd6, 0xe3, 0x97, 0xed, 0xed, 0xb9,
|
||||
0xff, 0x43, 0x15, 0x28, 0x3d, 0x7e, 0xba, 0xfb, 0xdc, 0xda, 0x6b, 0x6f, 0xcf, 0x19, 0x08, 0x60,
|
||||
0xd2, 0x6a, 0x3f, 0x7d, 0xbe, 0xd7, 0x9e, 0x1b, 0x6b, 0xfe, 0x7d, 0x02, 0x26, 0xe3, 0x83, 0x40,
|
||||
0xbf, 0x32, 0xa0, 0x92, 0x9d, 0xd3, 0xd0, 0xed, 0x51, 0x8d, 0x71, 0xc8, 0x08, 0x5d, 0xfb, 0xff,
|
||||
0xd3, 0x29, 0xc5, 0xe7, 0x68, 0x5e, 0xfb, 0xfc, 0x4f, 0x7f, 0xfb, 0x72, 0x6c, 0xcd, 0xbc, 0x28,
|
||||
0x5e, 0x23, 0xe9, 0x1b, 0x25, 0xce, 0x99, 0x86, 0x23, 0x55, 0xee, 0x1b, 0x9b, 0x88, 0x43, 0x25,
|
||||
0x3b, 0xe5, 0xa1, 0xc5, 0x7a, 0xfc, 0x2a, 0xa8, 0xeb, 0x79, 0xbf, 0xde, 0x16, 0xaf, 0x82, 0xda,
|
||||
0x29, 0x47, 0x49, 0x73, 0x59, 0xfa, 0x5f, 0x44, 0x0b, 0xc3, 0xfc, 0xa3, 0x1f, 0x1b, 0x30, 0x37,
|
||||
0x38, 0xa7, 0x15, 0xba, 0xbe, 0x37, 0xca, 0x75, 0xd1, 0xc4, 0x67, 0xae, 0x4b, 0x10, 0x97, 0xd1,
|
||||
0x6a, 0x1e, 0x84, 0x9e, 0xfa, 0x1a, 0x9e, 0x52, 0x44, 0xbf, 0x37, 0x60, 0x76, 0xe0, 0x66, 0xa3,
|
||||
0x3b, 0xa3, 0xdc, 0x0e, 0x2f, 0x41, 0xb5, 0xbb, 0xa7, 0xd6, 0x53, 0x68, 0x6f, 0x49, 0xb4, 0x9b,
|
||||
0xe6, 0xd5, 0xa1, 0x47, 0x96, 0x54, 0xa3, 0x46, 0x5c, 0x4b, 0xee, 0x1b, 0x9b, 0xcd, 0xdf, 0x8e,
|
||||
0x41, 0x29, 0x79, 0xb2, 0xfc, 0xdc, 0x80, 0x4a, 0x76, 0x40, 0x1b, 0x9d, 0x6d, 0x43, 0x66, 0xcc,
|
||||
0xd1, 0xd9, 0x36, 0x6c, 0x06, 0x34, 0x57, 0x24, 0xf4, 0x2a, 0x5a, 0xcc, 0x43, 0x4f, 0xc6, 0xbb,
|
||||
0xef, 0x1b, 0x30, 0x93, 0x6f, 0x40, 0xe8, 0xe3, 0x91, 0x69, 0x3d, 0xac, 0x61, 0xd5, 0x0a, 0x92,
|
||||
0xa4, 0x28, 0xdf, 0x75, 0x4d, 0x6f, 0x10, 0x97, 0xca, 0x90, 0x7d, 0xaf, 0x04, 0x93, 0x71, 0xe1,
|
||||
0x43, 0x5f, 0x18, 0x30, 0xfb, 0x90, 0xf0, 0x6c, 0x19, 0x2c, 0xcc, 0xc1, 0x91, 0x61, 0x19, 0x56,
|
||||
0x4c, 0xcd, 0x2b, 0x12, 0xd4, 0x25, 0x34, 0x00, 0x2a, 0x2e, 0xa2, 0x8d, 0x28, 0x76, 0xf9, 0x95,
|
||||
0x01, 0x17, 0x1e, 0x12, 0xfe, 0x52, 0xb3, 0x77, 0x71, 0xc8, 0xa9, 0x43, 0x03, 0xd9, 0x24, 0xd1,
|
||||
0xdd, 0x82, 0xa2, 0x55, 0xa8, 0xa1, 0x03, 0xf5, 0x71, 0x81, 0x62, 0x91, 0x96, 0x82, 0xbc, 0x29,
|
||||
0x21, 0x7f, 0x80, 0xcc, 0xa1, 0x90, 0x83, 0x1c, 0xb6, 0xdf, 0x18, 0xb0, 0x94, 0xc3, 0x41, 0xc2,
|
||||
0xd7, 0x7e, 0xd8, 0xc3, 0xcc, 0x21, 0xa8, 0x39, 0xd2, 0x7d, 0x2a, 0xac, 0x21, 0xdf, 0x3e, 0x95,
|
||||
0x8e, 0x02, 0xbc, 0x21, 0x01, 0x9b, 0x68, 0x6d, 0x38, 0xe0, 0x0c, 0xa4, 0x1f, 0x18, 0x30, 0x9d,
|
||||
0x85, 0x1b, 0xa1, 0x9b, 0x05, 0x0e, 0x45, 0x8e, 0xa7, 0x62, 0x1a, 0xde, 0xe5, 0x51, 0xf0, 0xa2,
|
||||
0xa2, 0x82, 0xa3, 0xc0, 0x1c, 0xa6, 0x9e, 0x7f, 0x61, 0xc0, 0x42, 0x16, 0xcb, 0x16, 0xee, 0x0a,
|
||||
0x8c, 0xb9, 0x4b, 0x5b, 0x0c, 0x49, 0x4b, 0x6b, 0x64, 0x1b, 0xa3, 0x90, 0x69, 0x05, 0xf3, 0xaa,
|
||||
0x04, 0xb8, 0x8a, 0x2e, 0x0d, 0x05, 0xb8, 0xaf, 0x51, 0x1c, 0xc2, 0xb9, 0x2c, 0xba, 0x6f, 0xf5,
|
||||
0x49, 0x9f, 0x14, 0xde, 0x8d, 0xab, 0xa3, 0xbc, 0x4b, 0x75, 0xd3, 0x94, 0xae, 0x97, 0x51, 0x6d,
|
||||
0xa8, 0xeb, 0xcf, 0xa4, 0x0b, 0x17, 0x4a, 0x0f, 0x09, 0xdf, 0x25, 0x24, 0x2c, 0xbe, 0x8a, 0xcb,
|
||||
0x05, 0xee, 0xa4, 0xd6, 0x08, 0x2f, 0x81, 0x90, 0x69, 0xfe, 0x79, 0x02, 0x26, 0x1f, 0x11, 0xdc,
|
||||
0xe5, 0x1d, 0xf4, 0xb3, 0x38, 0x85, 0xb7, 0x92, 0xb1, 0x26, 0x7d, 0x87, 0x14, 0x02, 0x18, 0xd9,
|
||||
0x18, 0x86, 0xbf, 0x67, 0xcc, 0x9b, 0x12, 0xda, 0x35, 0xf4, 0x41, 0x1e, 0x5a, 0x47, 0x22, 0x91,
|
||||
0x3f, 0xf5, 0x6c, 0x27, 0xf5, 0x1e, 0xb7, 0x48, 0x9e, 0x9d, 0xe3, 0xff, 0x8d, 0xf2, 0x34, 0xec,
|
||||
0x01, 0x62, 0xde, 0x90, 0x80, 0xae, 0xa2, 0x2b, 0x43, 0x01, 0x89, 0x39, 0xb1, 0x41, 0x12, 0xd7,
|
||||
0x3f, 0x32, 0x60, 0xee, 0x05, 0x0f, 0x09, 0xee, 0x6d, 0x25, 0x0f, 0x8c, 0x42, 0x3c, 0x37, 0x4f,
|
||||
0x82, 0x27, 0xc1, 0xd1, 0x90, 0x38, 0xae, 0xa3, 0xf5, 0x62, 0x1c, 0x49, 0xc9, 0x14, 0x00, 0x6e,
|
||||
0x19, 0xe8, 0x27, 0x06, 0xcc, 0xc7, 0x68, 0x5e, 0x66, 0xdf, 0x48, 0xff, 0x21, 0x40, 0x4d, 0x09,
|
||||
0xe8, 0x26, 0xda, 0x2c, 0x06, 0x94, 0x52, 0x35, 0xa6, 0xe6, 0x3f, 0xc6, 0x61, 0x42, 0x3c, 0x8e,
|
||||
0xd1, 0x77, 0x00, 0xd2, 0xc9, 0xbe, 0x10, 0x52, 0x73, 0x14, 0xa4, 0xf7, 0x5f, 0x07, 0xe6, 0x65,
|
||||
0x09, 0xec, 0x22, 0xba, 0x90, 0x07, 0x46, 0x19, 0xe5, 0x14, 0x77, 0xe9, 0x5b, 0xe2, 0xa2, 0xcf,
|
||||
0x0d, 0x38, 0xf3, 0xc4, 0xf7, 0x28, 0x43, 0x37, 0x46, 0xfe, 0x86, 0x49, 0xff, 0x14, 0x8c, 0x0e,
|
||||
0x50, 0xf6, 0xd9, 0xaf, 0xfb, 0xbd, 0x39, 0x9f, 0xc7, 0xd1, 0x15, 0x7e, 0xc5, 0x54, 0xf9, 0x85,
|
||||
0x01, 0x93, 0xe2, 0xb9, 0xd2, 0x0f, 0xfe, 0x9b, 0x28, 0x56, 0x25, 0x8a, 0x0b, 0xe6, 0xc0, 0x8c,
|
||||
0x19, 0x49, 0xc7, 0x02, 0xc6, 0xb7, 0x61, 0xf2, 0x89, 0xef, 0xf9, 0x7d, 0x5e, 0x78, 0x08, 0x45,
|
||||
0xe3, 0x44, 0x81, 0xe9, 0xae, 0xb4, 0x76, 0xdf, 0xd8, 0xdc, 0xaa, 0xfc, 0xe1, 0xdd, 0x8a, 0xf1,
|
||||
0xc7, 0x77, 0x2b, 0xc6, 0x5f, 0xdf, 0xad, 0x18, 0xfb, 0x93, 0x52, 0xfd, 0xf6, 0xbf, 0x02, 0x00,
|
||||
0x00, 0xff, 0xff, 0xb2, 0x72, 0x68, 0x73, 0x14, 0x18, 0x00, 0x00,
|
||||
// 2009 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0xcd, 0x6f, 0x1c, 0x49,
|
||||
0x15, 0xa7, 0x6d, 0xc7, 0x19, 0xbf, 0x99, 0xd8, 0x4e, 0xd9, 0xb1, 0x27, 0x8e, 0x63, 0x3b, 0x95,
|
||||
0x0f, 0x3b, 0x4e, 0x76, 0x26, 0x99, 0xb0, 0x49, 0x94, 0x0b, 0x8a, 0xc7, 0x43, 0x12, 0x39, 0x1f,
|
||||
0xa6, 0xe3, 0x4d, 0xc4, 0x65, 0x5b, 0xe5, 0xee, 0x4a, 0x4f, 0xc9, 0x33, 0xdd, 0xbd, 0xdd, 0x35,
|
||||
0x13, 0x3b, 0x5c, 0x60, 0x59, 0x09, 0x81, 0xc4, 0x01, 0xf6, 0x80, 0x90, 0x10, 0x12, 0x9c, 0x39,
|
||||
0x80, 0x84, 0xb4, 0xff, 0x02, 0x07, 0x0e, 0x48, 0xfc, 0x01, 0xa0, 0x88, 0x0b, 0xf0, 0x4f, 0xa0,
|
||||
0xaa, 0xae, 0xea, 0x8f, 0xc9, 0xf4, 0x8e, 0x2d, 0xc4, 0x85, 0x5b, 0xd7, 0xfb, 0xfc, 0xd5, 0xab,
|
||||
0x57, 0xef, 0xbd, 0x6a, 0xb8, 0x1e, 0x84, 0x3e, 0xf7, 0xeb, 0x7d, 0xd2, 0x61, 0x0e, 0xe1, 0x7e,
|
||||
0x58, 0x27, 0xb6, 0xed, 0xf7, 0x3c, 0x1e, 0xd5, 0xfb, 0x8d, 0xfa, 0x5b, 0xba, 0x6f, 0x91, 0x80,
|
||||
0xd5, 0xa4, 0x0c, 0x5a, 0xa1, 0xbc, 0x4d, 0x43, 0xda, 0xeb, 0xd6, 0x12, 0xe9, 0x9a, 0x96, 0xae,
|
||||
0xf5, 0x1b, 0x4b, 0x6b, 0xb1, 0xa9, 0x7d, 0x4a, 0x6c, 0xdf, 0xab, 0x87, 0x81, 0x5d, 0xef, 0xdf,
|
||||
0xae, 0xb7, 0x29, 0xe9, 0xf0, 0x76, 0x6c, 0x61, 0x69, 0x95, 0xf2, 0x76, 0xbd, 0x7f, 0x9b, 0x74,
|
||||
0x82, 0x36, 0xb9, 0xad, 0x04, 0x2d, 0xbb, 0x4d, 0x98, 0xa7, 0x04, 0x16, 0x73, 0x02, 0x9e, 0xef,
|
||||
0x50, 0xc5, 0x58, 0xce, 0x31, 0x52, 0xff, 0x8a, 0xeb, 0xfa, 0xbe, 0xdb, 0xa1, 0x75, 0x12, 0xb0,
|
||||
0x3a, 0xf1, 0x3c, 0x9f, 0x13, 0xce, 0x7c, 0x2f, 0x52, 0xdc, 0x0b, 0x8a, 0x2b, 0x57, 0xfb, 0xbd,
|
||||
0x37, 0x75, 0xda, 0x0d, 0xf8, 0x91, 0x62, 0x7e, 0xe4, 0x32, 0xde, 0xee, 0xed, 0xd7, 0x6c, 0xbf,
|
||||
0x5b, 0x77, 0x7d, 0xd7, 0x4f, 0xa5, 0xc4, 0x2a, 0xde, 0x91, 0xf8, 0x8a, 0xc5, 0xf1, 0xbf, 0xc7,
|
||||
0x60, 0xae, 0x19, 0x52, 0xc2, 0xe9, 0x6b, 0xd2, 0xe9, 0x50, 0x6e, 0xd2, 0xcf, 0x7a, 0x34, 0xe2,
|
||||
0xe8, 0x39, 0xc0, 0x01, 0x3d, 0xea, 0x12, 0x8f, 0xb8, 0x34, 0xac, 0x1a, 0x6b, 0xc6, 0xc6, 0x74,
|
||||
0xa3, 0x56, 0xfb, 0xfa, 0x80, 0xd5, 0x76, 0x12, 0x8d, 0x1d, 0xe6, 0x39, 0x66, 0xc6, 0x02, 0x5a,
|
||||
0x87, 0x99, 0xb7, 0xd2, 0x81, 0x15, 0x90, 0x28, 0x7a, 0xeb, 0x87, 0x4e, 0x75, 0x6c, 0xcd, 0xd8,
|
||||
0x98, 0x32, 0xa7, 0x63, 0xf2, 0xae, 0xa2, 0xa2, 0x25, 0x28, 0x75, 0x3d, 0xda, 0xf5, 0x3d, 0x66,
|
||||
0x57, 0xc7, 0xa5, 0x44, 0xb2, 0x46, 0x97, 0xa0, 0xe2, 0xf5, 0xba, 0x96, 0x76, 0x59, 0x9d, 0x58,
|
||||
0x33, 0x36, 0x26, 0xcc, 0xb2, 0xd7, 0xeb, 0x3e, 0x54, 0x24, 0xb4, 0x0a, 0xe5, 0x90, 0x76, 0x7d,
|
||||
0x4e, 0x2d, 0xe2, 0x38, 0x61, 0xf5, 0x94, 0xb4, 0x00, 0x31, 0xe9, 0xa1, 0xe3, 0x84, 0xe8, 0x1a,
|
||||
0xcc, 0x28, 0x01, 0x3b, 0x14, 0x60, 0x78, 0xbb, 0x3a, 0x29, 0x85, 0xce, 0xc4, 0xe4, 0x66, 0xc8,
|
||||
0x77, 0x09, 0x6f, 0x67, 0xe4, 0x0e, 0xe8, 0x51, 0x2c, 0x77, 0x3a, 0x2b, 0xb7, 0x43, 0x8f, 0xa4,
|
||||
0xdc, 0x0d, 0x40, 0xda, 0x1e, 0x49, 0x4d, 0x96, 0xa4, 0xa8, 0xb2, 0xd0, 0x24, 0xca, 0x28, 0xfe,
|
||||
0x14, 0xe6, 0xf3, 0xc1, 0x8e, 0x02, 0xdf, 0x8b, 0x28, 0xfa, 0x36, 0x4c, 0xc6, 0x61, 0x90, 0x91,
|
||||
0x2e, 0x8f, 0x8e, 0x74, 0x5e, 0xdf, 0x54, 0xda, 0xf8, 0x2b, 0x03, 0x16, 0x5b, 0x0e, 0xe3, 0x31,
|
||||
0xbb, 0xe9, 0x7b, 0x6f, 0x98, 0xab, 0x4f, 0x74, 0x20, 0x32, 0xc6, 0x71, 0x22, 0x33, 0x76, 0xcc,
|
||||
0xc8, 0x8c, 0x1f, 0x3f, 0x32, 0x13, 0xc3, 0x23, 0x73, 0x17, 0xaa, 0x8f, 0xa8, 0x47, 0x43, 0xc2,
|
||||
0xe9, 0x33, 0x75, 0xdc, 0x49, 0x74, 0xb2, 0x29, 0x61, 0xe4, 0x53, 0x02, 0xff, 0xc4, 0x80, 0xe9,
|
||||
0x81, 0x60, 0xae, 0x42, 0x39, 0x49, 0x35, 0xde, 0xd6, 0x1b, 0xd5, 0x69, 0xc6, 0xdb, 0xe8, 0x35,
|
||||
0xcc, 0xa4, 0x99, 0x69, 0x1d, 0x30, 0x2f, 0xce, 0xc5, 0x93, 0x27, 0xf8, 0xf4, 0x41, 0x6e, 0x8d,
|
||||
0x7f, 0x6e, 0xc0, 0xdc, 0x53, 0x16, 0x71, 0x9d, 0x8d, 0x3a, 0xf4, 0x1f, 0xc1, 0x9c, 0x4b, 0xb9,
|
||||
0xe5, 0xd0, 0xc0, 0x8f, 0x18, 0xb7, 0xf8, 0xa1, 0xe5, 0x10, 0x4e, 0x24, 0xb2, 0x92, 0x39, 0xeb,
|
||||
0x52, 0xbe, 0x1d, 0x73, 0xf6, 0x0e, 0xb7, 0x09, 0x27, 0xe8, 0x02, 0x4c, 0x05, 0xc4, 0xa5, 0x56,
|
||||
0xc4, 0xde, 0x51, 0x89, 0xec, 0x94, 0x59, 0x12, 0x84, 0x97, 0xec, 0x1d, 0x45, 0x17, 0x01, 0x24,
|
||||
0x93, 0xfb, 0x07, 0xd4, 0x53, 0x81, 0x97, 0xe2, 0x7b, 0x82, 0x80, 0x66, 0x61, 0x9c, 0x74, 0x3a,
|
||||
0x32, 0xca, 0x25, 0x53, 0x7c, 0xe2, 0xdf, 0x1a, 0x30, 0x9f, 0x07, 0xa5, 0xe2, 0xd4, 0x84, 0x52,
|
||||
0x72, 0x93, 0x8c, 0xb5, 0xf1, 0x8d, 0x72, 0x63, 0x7d, 0xd4, 0xfe, 0x95, 0x0d, 0x33, 0x51, 0x14,
|
||||
0xc9, 0xe0, 0xd1, 0x43, 0x11, 0xea, 0x04, 0x93, 0x4a, 0x1a, 0x41, 0xde, 0x4d, 0x70, 0x5d, 0x04,
|
||||
0xe0, 0x3e, 0x27, 0x9d, 0x78, 0x53, 0xe3, 0x72, 0x53, 0x53, 0x92, 0x22, 0x76, 0x85, 0xff, 0x60,
|
||||
0xc0, 0x69, 0x65, 0x1c, 0x35, 0xe0, 0x9c, 0xf2, 0xce, 0x3c, 0xd7, 0x0a, 0x7a, 0xfb, 0x1d, 0x66,
|
||||
0x8b, 0x54, 0x93, 0xf1, 0xaa, 0x98, 0x73, 0x29, 0x73, 0x57, 0xf2, 0x76, 0xe8, 0x91, 0xa8, 0x0c,
|
||||
0x0a, 0x92, 0xe5, 0x91, 0x2e, 0x55, 0x18, 0xca, 0x8a, 0xf6, 0x9c, 0x74, 0xa9, 0x40, 0x3a, 0x78,
|
||||
0x00, 0xe3, 0xd2, 0xe0, 0x19, 0x27, 0x17, 0xfd, 0x75, 0x21, 0x17, 0xb2, 0xbe, 0x2c, 0xb9, 0xd9,
|
||||
0x9c, 0x9d, 0x4e, 0xc9, 0x32, 0x65, 0x77, 0x60, 0x5a, 0xc7, 0x23, 0xbd, 0x62, 0x29, 0xdc, 0x38,
|
||||
0xa8, 0x15, 0x13, 0x02, 0x8d, 0x32, 0x42, 0x55, 0x38, 0xcd, 0x3c, 0x87, 0xd9, 0x34, 0xaa, 0x8e,
|
||||
0xad, 0x8d, 0x6f, 0x4c, 0x98, 0x7a, 0x89, 0x3f, 0x85, 0xf2, 0xc3, 0x1e, 0x6f, 0x6b, 0x4b, 0x4b,
|
||||
0x50, 0x4a, 0xea, 0xa4, 0x4a, 0x79, 0xbd, 0x46, 0x77, 0xe0, 0x9c, 0xfe, 0xb6, 0x6c, 0x71, 0xc5,
|
||||
0xc3, 0xae, 0x04, 0xa5, 0x36, 0x3d, 0xaf, 0x99, 0xcd, 0x0c, 0x0f, 0xbf, 0x80, 0x4a, 0x6c, 0x5f,
|
||||
0x1d, 0xfe, 0x3c, 0x9c, 0x8a, 0x4f, 0x2b, 0xb6, 0x1e, 0x2f, 0xd0, 0x75, 0x98, 0x95, 0x1f, 0x16,
|
||||
0x3d, 0x0c, 0x58, 0x98, 0x5a, 0x9d, 0x30, 0x67, 0x24, 0xbd, 0x95, 0x90, 0xf1, 0xdf, 0x0c, 0x58,
|
||||
0x78, 0xee, 0x3b, 0xb4, 0xe9, 0x7b, 0x1e, 0xb5, 0x05, 0x29, 0xb1, 0x7d, 0x0b, 0xe6, 0x55, 0x2b,
|
||||
0x14, 0x0d, 0xcf, 0xa2, 0x9e, 0x13, 0xf8, 0xcc, 0xe3, 0xca, 0x15, 0x8a, 0x79, 0x42, 0xb7, 0xa5,
|
||||
0x38, 0x68, 0x19, 0xa6, 0xec, 0xd8, 0x0e, 0x8d, 0xef, 0x62, 0xc9, 0x4c, 0x09, 0x22, 0x6a, 0xd1,
|
||||
0x91, 0x67, 0x33, 0xcf, 0x95, 0x27, 0x56, 0x32, 0xf5, 0x52, 0x1c, 0xbb, 0x4b, 0x3d, 0x1a, 0xb1,
|
||||
0xc8, 0xe2, 0xac, 0x4b, 0x75, 0x43, 0x50, 0xb4, 0x3d, 0xd6, 0xa5, 0xe8, 0x3e, 0x54, 0xf5, 0xb1,
|
||||
0xdb, 0xbe, 0xc7, 0x43, 0x62, 0x73, 0x59, 0x00, 0x69, 0x14, 0xc9, 0xee, 0x50, 0x31, 0x17, 0x14,
|
||||
0xbf, 0xa9, 0xd8, 0x0f, 0x63, 0x2e, 0xfe, 0xbe, 0xb8, 0x38, 0xbe, 0x1b, 0x69, 0x94, 0xc9, 0xfe,
|
||||
0xee, 0xc2, 0x62, 0x72, 0x3d, 0xac, 0x8e, 0xef, 0x46, 0x83, 0x5b, 0x3c, 0x97, 0xb0, 0xb3, 0xfa,
|
||||
0x99, 0xb8, 0xe4, 0x95, 0xc6, 0xb2, 0x71, 0xc9, 0x6a, 0xe0, 0x2f, 0x0d, 0x38, 0xd7, 0x6c, 0x13,
|
||||
0xcf, 0xa5, 0xba, 0x3f, 0xea, 0x04, 0xb9, 0x0e, 0xb3, 0x76, 0x2f, 0x0c, 0xa9, 0x97, 0x69, 0xa8,
|
||||
0xb1, 0xf3, 0x19, 0x45, 0xcf, 0x76, 0xd4, 0x81, 0x9e, 0x7b, 0x8c, 0x5c, 0x1a, 0xff, 0x9a, 0x5c,
|
||||
0xba, 0x0f, 0x67, 0x1f, 0x93, 0x68, 0xa0, 0xea, 0x5e, 0x86, 0x33, 0xaa, 0xea, 0xd2, 0x43, 0x16,
|
||||
0xc9, 0x92, 0x22, 0x8e, 0xaa, 0x12, 0x13, 0x5b, 0x92, 0x86, 0xfb, 0xb0, 0xf0, 0xa4, 0x1b, 0xf8,
|
||||
0x21, 0x17, 0xb7, 0x81, 0xfb, 0x21, 0xcd, 0x94, 0x48, 0x74, 0xa0, 0x69, 0x16, 0x93, 0x32, 0xd4,
|
||||
0x91, 0x37, 0x68, 0xca, 0x3c, 0x9b, 0x70, 0x9e, 0x28, 0x46, 0x5e, 0x7c, 0x60, 0x77, 0xa9, 0xb8,
|
||||
0x0e, 0x01, 0xde, 0x81, 0xc5, 0x0f, 0xfc, 0xa6, 0xc9, 0xaa, 0xdd, 0x59, 0x1f, 0x5e, 0x5e, 0xa4,
|
||||
0x79, 0x49, 0xa9, 0x89, 0xf0, 0x6b, 0x40, 0x8f, 0x49, 0xf4, 0x49, 0x44, 0x9d, 0xd7, 0x74, 0x3f,
|
||||
0xb1, 0x83, 0xe1, 0x4c, 0x9b, 0x44, 0x56, 0xc4, 0x5c, 0x8f, 0x3a, 0x56, 0x2f, 0x50, 0xfb, 0x2f,
|
||||
0xb7, 0x49, 0xf4, 0x52, 0xd2, 0x3e, 0x09, 0x44, 0x11, 0x14, 0x32, 0xaa, 0xd5, 0xab, 0x3c, 0x6f,
|
||||
0xeb, 0x50, 0x62, 0x0c, 0x15, 0x71, 0xfa, 0x89, 0x49, 0x04, 0x13, 0x22, 0x51, 0x54, 0x14, 0xe4,
|
||||
0x37, 0xfe, 0xf5, 0x18, 0xcc, 0x6f, 0xc9, 0x44, 0x79, 0xc9, 0x09, 0xef, 0x45, 0xff, 0x67, 0x97,
|
||||
0x0e, 0x7d, 0x0b, 0x40, 0xce, 0xcf, 0x56, 0x9b, 0x12, 0x47, 0x4e, 0x66, 0xe5, 0xc6, 0x5a, 0xda,
|
||||
0x96, 0x28, 0x6f, 0xd7, 0xf4, 0xd4, 0x5c, 0x6b, 0x0a, 0xc1, 0xc7, 0x94, 0x38, 0xe6, 0x94, 0xad,
|
||||
0x3f, 0x37, 0xef, 0xc1, 0x74, 0xbe, 0x4b, 0xa3, 0x32, 0x9c, 0xde, 0x6e, 0x99, 0x4f, 0x5e, 0xb5,
|
||||
0xb6, 0x67, 0xbf, 0x81, 0x2a, 0x50, 0x7a, 0xf2, 0x6c, 0xf7, 0x85, 0xb9, 0xd7, 0xda, 0x9e, 0x35,
|
||||
0x10, 0xc0, 0xa4, 0xd9, 0x7a, 0xf6, 0x62, 0xaf, 0x35, 0x3b, 0xd6, 0xf8, 0xe7, 0x04, 0x4c, 0xc6,
|
||||
0x07, 0x81, 0x7e, 0x63, 0x40, 0x25, 0x3b, 0xa7, 0xa1, 0x3b, 0xa3, 0x1a, 0xe3, 0x90, 0x11, 0x7a,
|
||||
0xe9, 0x9b, 0x27, 0x53, 0x8a, 0xcf, 0x11, 0x5f, 0xfb, 0xfc, 0xaf, 0xff, 0xf8, 0x72, 0x6c, 0x0d,
|
||||
0x5f, 0x10, 0xef, 0x95, 0xf4, 0x15, 0x13, 0xe7, 0x4c, 0xdd, 0x96, 0x2a, 0x0f, 0x8c, 0x4d, 0xc4,
|
||||
0xa1, 0x92, 0x9d, 0xf2, 0xd0, 0x42, 0x2d, 0x7e, 0x15, 0xd4, 0xf4, 0xbc, 0x5f, 0x6b, 0x89, 0x57,
|
||||
0xc1, 0xd2, 0x09, 0x47, 0x49, 0xbc, 0x2c, 0xfd, 0x2f, 0xa0, 0xf9, 0x61, 0xfe, 0xd1, 0x4f, 0x0d,
|
||||
0x98, 0x1d, 0x9c, 0xd3, 0x0a, 0x5d, 0xdf, 0x1f, 0xe5, 0xba, 0x68, 0xe2, 0xc3, 0xeb, 0x12, 0xc4,
|
||||
0x25, 0xb4, 0x9a, 0x07, 0xa1, 0xa7, 0xbe, 0xba, 0xab, 0x14, 0xd1, 0x1f, 0x0d, 0x98, 0x19, 0xb8,
|
||||
0xd9, 0xe8, 0xee, 0x28, 0xb7, 0xc3, 0x4b, 0xd0, 0xd2, 0xbd, 0x13, 0xeb, 0x29, 0xb4, 0xb7, 0x24,
|
||||
0xda, 0x4d, 0x7c, 0x75, 0xe8, 0x91, 0x25, 0xd5, 0xa8, 0x1e, 0xd7, 0x92, 0x07, 0xc6, 0x66, 0xe3,
|
||||
0xf7, 0x63, 0x50, 0x4a, 0x9e, 0x2c, 0xbf, 0x34, 0xa0, 0x92, 0x1d, 0xd0, 0x46, 0x67, 0xdb, 0x90,
|
||||
0x19, 0x73, 0x74, 0xb6, 0x0d, 0x9b, 0x01, 0xf1, 0x8a, 0x84, 0x5e, 0x45, 0x0b, 0x79, 0xe8, 0xc9,
|
||||
0x78, 0xf7, 0x23, 0x03, 0xa6, 0xf3, 0x0d, 0x08, 0x7d, 0x3c, 0x32, 0xad, 0x87, 0x35, 0xac, 0xa5,
|
||||
0x82, 0x24, 0x29, 0xca, 0x77, 0x5d, 0xd3, 0xeb, 0xd4, 0x61, 0x32, 0x64, 0x3f, 0x28, 0xc1, 0x64,
|
||||
0x5c, 0xf8, 0xd0, 0x17, 0x06, 0xcc, 0x3c, 0xa2, 0x3c, 0x5b, 0x06, 0x0b, 0x73, 0x70, 0x64, 0x58,
|
||||
0x86, 0x15, 0x53, 0x7c, 0x59, 0x82, 0xba, 0x88, 0x06, 0x40, 0xa9, 0x3f, 0x01, 0x51, 0xec, 0xf2,
|
||||
0x2b, 0x03, 0xce, 0x3f, 0xa2, 0xfc, 0x95, 0x66, 0xef, 0x92, 0x90, 0x33, 0x9b, 0x05, 0xb2, 0x49,
|
||||
0xa2, 0x7b, 0x05, 0x45, 0xab, 0x50, 0x43, 0x07, 0xea, 0xe3, 0x02, 0xc5, 0x22, 0x2d, 0x05, 0x79,
|
||||
0x53, 0x42, 0xbe, 0x82, 0xf0, 0x50, 0xc8, 0x41, 0x0e, 0xdb, 0xef, 0x0c, 0x58, 0xcc, 0xe1, 0xa0,
|
||||
0xe1, 0x1b, 0x3f, 0xec, 0x12, 0xcf, 0xa6, 0xa8, 0x31, 0xd2, 0x7d, 0x2a, 0xac, 0x21, 0xdf, 0x39,
|
||||
0x91, 0x8e, 0x02, 0xbc, 0x21, 0x01, 0x63, 0xb4, 0x36, 0x1c, 0x70, 0x06, 0xd2, 0x8f, 0x0d, 0x38,
|
||||
0x93, 0x85, 0x1b, 0xa1, 0x9b, 0x05, 0x0e, 0x45, 0x8e, 0xa7, 0x62, 0x1a, 0xde, 0xa5, 0x51, 0xf0,
|
||||
0xa2, 0xa2, 0x82, 0xa3, 0xc0, 0xf4, 0x53, 0xcf, 0xbf, 0x32, 0x60, 0x3e, 0x8b, 0x65, 0x8b, 0x74,
|
||||
0x04, 0xc6, 0xdc, 0xa5, 0x2d, 0x86, 0xa4, 0xa5, 0x35, 0xb2, 0x8d, 0x51, 0xc8, 0xb4, 0x02, 0xbe,
|
||||
0x2a, 0x01, 0xae, 0xa2, 0x8b, 0x43, 0x01, 0xee, 0x6b, 0x14, 0x7d, 0x38, 0x9b, 0x45, 0xf7, 0x9d,
|
||||
0x1e, 0xed, 0xd1, 0xc2, 0xbb, 0x71, 0x75, 0x94, 0x77, 0xa9, 0x8e, 0xb1, 0x74, 0xbd, 0x8c, 0x96,
|
||||
0x86, 0xba, 0xfe, 0x4c, 0xba, 0x70, 0xa0, 0xf4, 0x88, 0xf2, 0x5d, 0x4a, 0xc3, 0xe2, 0xab, 0xb8,
|
||||
0x5c, 0xe0, 0x4e, 0x6a, 0x8d, 0xf0, 0x12, 0x08, 0x99, 0xc6, 0x9f, 0x27, 0x60, 0xf2, 0xb1, 0xfc,
|
||||
0xff, 0x86, 0x7e, 0x11, 0xa7, 0xf0, 0x56, 0x32, 0xd6, 0xa4, 0xef, 0x90, 0x42, 0x00, 0x23, 0x1b,
|
||||
0xc3, 0xf0, 0xf7, 0x0c, 0xbe, 0x29, 0xa1, 0x5d, 0x43, 0x57, 0xf2, 0xd0, 0xe2, 0x3f, 0x81, 0xf2,
|
||||
0xa7, 0x9e, 0x65, 0xa7, 0xde, 0xe3, 0x16, 0xc9, 0xb3, 0x73, 0xfc, 0x7f, 0x51, 0x9e, 0x86, 0x3d,
|
||||
0x40, 0xf0, 0x0d, 0x09, 0xe8, 0x2a, 0xba, 0x3c, 0x14, 0x90, 0x98, 0x13, 0xeb, 0x34, 0x71, 0xfd,
|
||||
0x43, 0x03, 0x66, 0x5f, 0xf2, 0x90, 0x92, 0xee, 0x56, 0xf2, 0xc0, 0x28, 0xc4, 0x73, 0x25, 0xc5,
|
||||
0x13, 0x47, 0xbe, 0x16, 0x06, 0x76, 0xad, 0x7f, 0xbb, 0x96, 0x1d, 0x4c, 0x71, 0x5d, 0xfa, 0xbf,
|
||||
0x8e, 0xd6, 0x8b, 0xfd, 0x27, 0xa5, 0x52, 0x38, 0xbe, 0x65, 0xa0, 0x9f, 0x19, 0x30, 0x17, 0xa3,
|
||||
0x78, 0x95, 0x7d, 0x1b, 0x15, 0x02, 0xb9, 0x79, 0x9c, 0xc0, 0x24, 0x80, 0x1a, 0x12, 0xd0, 0x4d,
|
||||
0xb4, 0x59, 0x0c, 0x28, 0xa5, 0x6a, 0x4c, 0x8d, 0x7f, 0x8d, 0xc3, 0x84, 0x78, 0x14, 0xa3, 0xef,
|
||||
0x01, 0xa4, 0x13, 0x7d, 0x21, 0xa4, 0xc6, 0x28, 0x48, 0x1f, 0xbe, 0x0a, 0xf0, 0x25, 0x09, 0xec,
|
||||
0x02, 0x3a, 0x9f, 0x07, 0xc6, 0x3c, 0xc6, 0x19, 0xe9, 0xb0, 0x77, 0xd4, 0x41, 0x9f, 0x1b, 0x70,
|
||||
0xea, 0xa9, 0xef, 0x32, 0x0f, 0xdd, 0x18, 0xf9, 0xfb, 0x25, 0xfd, 0x43, 0x30, 0x3a, 0x40, 0xd9,
|
||||
0xe7, 0xbe, 0xee, 0xf3, 0x78, 0x2e, 0x8f, 0xa3, 0x23, 0xfc, 0x8a, 0x69, 0xf2, 0x0b, 0x03, 0x26,
|
||||
0xc5, 0x33, 0xa5, 0x17, 0xfc, 0x2f, 0x51, 0xac, 0x4a, 0x14, 0xe7, 0xf1, 0xc0, 0x6c, 0x19, 0x49,
|
||||
0xc7, 0x02, 0xc6, 0x77, 0x61, 0xf2, 0xa9, 0xef, 0xfa, 0x3d, 0x5e, 0x78, 0x08, 0x45, 0x63, 0x44,
|
||||
0x81, 0xe9, 0x8e, 0xb4, 0xf6, 0xc0, 0xd8, 0xdc, 0xaa, 0xfc, 0xe9, 0xfd, 0x8a, 0xf1, 0x97, 0xf7,
|
||||
0x2b, 0xc6, 0xdf, 0xdf, 0xaf, 0x18, 0xfb, 0x93, 0x52, 0xfd, 0xce, 0x7f, 0x02, 0x00, 0x00, 0xff,
|
||||
0xff, 0x1b, 0x14, 0x9b, 0x39, 0x2e, 0x18, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
@@ -2079,7 +2082,7 @@ func (c *healthClient) StreamBeaconLogs(ctx context.Context, in *types.Empty, op
|
||||
}
|
||||
|
||||
type Health_StreamBeaconLogsClient interface {
|
||||
Recv() (*LogsResponse, error)
|
||||
Recv() (*v1.LogsResponse, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
@@ -2087,8 +2090,8 @@ type healthStreamBeaconLogsClient struct {
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func (x *healthStreamBeaconLogsClient) Recv() (*LogsResponse, error) {
|
||||
m := new(LogsResponse)
|
||||
func (x *healthStreamBeaconLogsClient) Recv() (*v1.LogsResponse, error) {
|
||||
m := new(v1.LogsResponse)
|
||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -2201,7 +2204,7 @@ func _Health_StreamBeaconLogs_Handler(srv interface{}, stream grpc.ServerStream)
|
||||
}
|
||||
|
||||
type Health_StreamBeaconLogsServer interface {
|
||||
Send(*LogsResponse) error
|
||||
Send(*v1.LogsResponse) error
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
@@ -2209,7 +2212,7 @@ type healthStreamBeaconLogsServer struct {
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
func (x *healthStreamBeaconLogsServer) Send(m *LogsResponse) error {
|
||||
func (x *healthStreamBeaconLogsServer) Send(m *v1.LogsResponse) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
syntax = "proto3";
|
||||
package ethereum.validator.accounts.v2;
|
||||
|
||||
import "proto/beacon/rpc/v1/health.proto";
|
||||
import "eth/v1alpha1/beacon_chain.proto";
|
||||
import "eth/v1alpha1/node.proto";
|
||||
import "eth/v1alpha1/validator.proto";
|
||||
@@ -104,7 +105,7 @@ service Health {
|
||||
get: "/v2/validator/health/logs/endpoints"
|
||||
};
|
||||
}
|
||||
rpc StreamBeaconLogs(google.protobuf.Empty) returns (stream LogsResponse) {
|
||||
rpc StreamBeaconLogs(google.protobuf.Empty) returns (stream ethereum.beacon.rpc.v1.LogsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v2/validator/health/logs/beacon/stream"
|
||||
};
|
||||
|
||||
755
proto/validator/accounts/v2_gateway/web_api.pb.go
generated
755
proto/validator/accounts/v2_gateway/web_api.pb.go
generated
@@ -15,6 +15,7 @@ import (
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
empty "github.com/golang/protobuf/ptypes/empty"
|
||||
v1alpha1 "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1"
|
||||
v1 "github.com/prysmaticlabs/prysm/proto/beacon/rpc/v1"
|
||||
_ "google.golang.org/genproto/googleapis/api/annotations"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
@@ -1318,387 +1319,388 @@ var file_proto_validator_accounts_v2_web_api_proto_rawDesc = []byte{
|
||||
0x72, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x77, 0x65,
|
||||
0x62, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x65, 0x74, 0x68,
|
||||
0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e,
|
||||
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 0x65, 0x74, 0x68,
|
||||
0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e,
|
||||
0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x65, 0x74,
|
||||
0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
|
||||
0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
|
||||
0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
||||
0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d,
|
||||
0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2f,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xeb, 0x02,
|
||||
0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x6d, 0x61, 0x6e, 0x61,
|
||||
0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x65, 0x74, 0x68, 0x65,
|
||||
0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61,
|
||||
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4b, 0x65, 0x79, 0x6d, 0x61,
|
||||
0x6e, 0x61, 0x67, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0a, 0x6b, 0x65, 0x79, 0x6d, 0x61,
|
||||
0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f,
|
||||
0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
|
||||
0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1a,
|
||||
0x0a, 0x08, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x08, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75,
|
||||
0x6d, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04,
|
||||
0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a,
|
||||
0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x26,
|
||||
0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x72, 0x74, 0x5f, 0x70, 0x61, 0x74,
|
||||
0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43,
|
||||
0x72, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65,
|
||||
0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2b,
|
||||
0x0a, 0x12, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x5f, 0x63, 0x72, 0x74, 0x5f,
|
||||
0x70, 0x61, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f,
|
||||
0x74, 0x65, 0x43, 0x61, 0x43, 0x72, 0x74, 0x50, 0x61, 0x74, 0x68, 0x22, 0x5e, 0x0a, 0x14, 0x43,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76,
|
||||
0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x73, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x22, 0xb7, 0x01, 0x0a, 0x17,
|
||||
0x45, 0x64, 0x69, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74,
|
||||
0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65,
|
||||
0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f,
|
||||
0x74, 0x65, 0x5f, 0x63, 0x72, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x72, 0x74, 0x50, 0x61, 0x74, 0x68,
|
||||
0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70,
|
||||
0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74,
|
||||
0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2b, 0x0a, 0x12, 0x72, 0x65, 0x6d, 0x6f,
|
||||
0x74, 0x65, 0x5f, 0x63, 0x61, 0x5f, 0x63, 0x72, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x61, 0x43, 0x72,
|
||||
0x74, 0x50, 0x61, 0x74, 0x68, 0x22, 0x36, 0x0a, 0x18, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
|
||||
0x65, 0x4d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x22, 0x8a, 0x01,
|
||||
0x0a, 0x0e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x50, 0x61, 0x74,
|
||||
0x68, 0x12, 0x57, 0x0a, 0x0f, 0x6b, 0x65, 0x79, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f,
|
||||
0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x65, 0x74, 0x68,
|
||||
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x1a, 0x20, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x2f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31,
|
||||
0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65,
|
||||
0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x62, 0x65, 0x61, 0x63,
|
||||
0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
|
||||
0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6e, 0x6f, 0x64,
|
||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61,
|
||||
0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
|
||||
0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x1a, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x67,
|
||||
0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
|
||||
0xeb, 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x6d, 0x61,
|
||||
0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x65, 0x74,
|
||||
0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
|
||||
0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4b, 0x65, 0x79,
|
||||
0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0a, 0x6b, 0x65, 0x79,
|
||||
0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x65,
|
||||
0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
|
||||
0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x08, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x12, 0x21, 0x0a, 0x0c,
|
||||
0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x04, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12,
|
||||
0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x05,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72,
|
||||
0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x72, 0x74, 0x5f, 0x70,
|
||||
0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74,
|
||||
0x65, 0x43, 0x72, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f,
|
||||
0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68,
|
||||
0x12, 0x2b, 0x0a, 0x12, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x5f, 0x63, 0x72,
|
||||
0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65,
|
||||
0x6d, 0x6f, 0x74, 0x65, 0x43, 0x61, 0x43, 0x72, 0x74, 0x50, 0x61, 0x74, 0x68, 0x22, 0x5e, 0x0a,
|
||||
0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d,
|
||||
0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x22, 0xb7, 0x01,
|
||||
0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66,
|
||||
0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d,
|
||||
0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
|
||||
0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65,
|
||||
0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x72, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x72, 0x74, 0x50, 0x61,
|
||||
0x74, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79,
|
||||
0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d,
|
||||
0x6f, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2b, 0x0a, 0x12, 0x72, 0x65,
|
||||
0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x5f, 0x63, 0x72, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x61,
|
||||
0x43, 0x72, 0x74, 0x50, 0x61, 0x74, 0x68, 0x22, 0x36, 0x0a, 0x18, 0x47, 0x65, 0x6e, 0x65, 0x72,
|
||||
0x61, 0x74, 0x65, 0x4d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x22,
|
||||
0x8a, 0x01, 0x0a, 0x0e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x74,
|
||||
0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x50,
|
||||
0x61, 0x74, 0x68, 0x12, 0x57, 0x0a, 0x0f, 0x6b, 0x65, 0x79, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
|
||||
0x72, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x65,
|
||||
0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f,
|
||||
0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4b, 0x65,
|
||||
0x79, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0e, 0x6b, 0x65,
|
||||
0x79, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x22, 0x92, 0x01, 0x0a,
|
||||
0x13, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x6f,
|
||||
0x73, 0x69, 0x74, 0x5f, 0x74, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x08, 0x52, 0x10, 0x67, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x78, 0x44,
|
||||
0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
|
||||
0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
|
||||
0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c,
|
||||
0x6c, 0x22, 0xa2, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
|
||||
0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x61, 0x63,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65,
|
||||
0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f,
|
||||
0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12,
|
||||
0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
|
||||
0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61,
|
||||
0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c,
|
||||
0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74,
|
||||
0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67,
|
||||
0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x0c, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x62,
|
||||
0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
|
||||
0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x65, 0x70,
|
||||
0x6f, 0x73, 0x69, 0x74, 0x5f, 0x74, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x0c, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x78, 0x44, 0x61, 0x74,
|
||||
0x61, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
|
||||
0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x72, 0x69,
|
||||
0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x22, 0x4b, 0x0a, 0x0e, 0x41, 0x63,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b,
|
||||
0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
|
||||
0x0c, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x18, 0x0a,
|
||||
0x07, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07,
|
||||
0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x22, 0x5e, 0x0a, 0x0b, 0x41, 0x75, 0x74, 0x68, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f,
|
||||
0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f,
|
||||
0x72, 0x64, 0x12, 0x33, 0x0a, 0x15, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x63,
|
||||
0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x14, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69,
|
||||
0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4f, 0x0a, 0x0c, 0x41, 0x75, 0x74, 0x68, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x29, 0x0a,
|
||||
0x10, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x78,
|
||||
0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdf, 0x01, 0x0a, 0x16, 0x4e, 0x6f, 0x64,
|
||||
0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f,
|
||||
0x64, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x12, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x45, 0x6e, 0x64,
|
||||
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
|
||||
0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
|
||||
0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a,
|
||||
0x0c, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20,
|
||||
0x01, 0x28, 0x04, 0x52, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x54, 0x69, 0x6d, 0x65,
|
||||
0x12, 0x38, 0x0a, 0x18, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x0c, 0x52, 0x16, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x80, 0x01, 0x0a, 0x14, 0x4c,
|
||||
0x6f, 0x67, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
|
||||
0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x4c,
|
||||
0x6f, 0x67, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x62,
|
||||
0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f,
|
||||
0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x65, 0x61, 0x63, 0x6f,
|
||||
0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x93, 0x01,
|
||||
0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65,
|
||||
0x6e, 0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
|
||||
0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x33,
|
||||
0x0a, 0x15, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
|
||||
0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x70,
|
||||
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x22, 0x38, 0x0a, 0x11, 0x48, 0x61, 0x73, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x6c, 0x6c,
|
||||
0x65, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||
0x0c, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x76, 0x0a,
|
||||
0x16, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x6b, 0x65, 0x79, 0x73, 0x74,
|
||||
0x6f, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20,
|
||||
0x03, 0x28, 0x09, 0x52, 0x11, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x49, 0x6d,
|
||||
0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f,
|
||||
0x72, 0x65, 0x73, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x11, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x50, 0x61, 0x73,
|
||||
0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x4b, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4b,
|
||||
0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x30, 0x0a, 0x14, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x75, 0x62,
|
||||
0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x12,
|
||||
0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65,
|
||||
0x79, 0x73, 0x22, 0x57, 0x0a, 0x12, 0x48, 0x61, 0x73, 0x55, 0x73, 0x65, 0x64, 0x57, 0x65, 0x62,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f,
|
||||
0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||
0x0b, 0x68, 0x61, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x70, 0x12, 0x1d, 0x0a, 0x0a,
|
||||
0x68, 0x61, 0x73, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
|
||||
0x52, 0x09, 0x68, 0x61, 0x73, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x22, 0x22, 0x0a, 0x0c, 0x4c,
|
||||
0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c,
|
||||
0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x22,
|
||||
0x9e, 0x02, 0x0a, 0x14, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x65, 0x61, 0x63,
|
||||
0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x4e, 0x6f,
|
||||
0x64, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f,
|
||||
0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63,
|
||||
0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x79, 0x6e, 0x63,
|
||||
0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x69,
|
||||
0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x74, 0x69,
|
||||
0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69,
|
||||
0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
|
||||
0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
|
||||
0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
|
||||
0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
|
||||
0x3f, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x18, 0x06, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65,
|
||||
0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69,
|
||||
0x6e, 0x48, 0x65, 0x61, 0x64, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x65, 0x61, 0x64,
|
||||
0x2a, 0x37, 0x0a, 0x0e, 0x4b, 0x65, 0x79, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4b, 0x69,
|
||||
0x6e, 0x64, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x52, 0x49, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12,
|
||||
0x0c, 0x0a, 0x08, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a,
|
||||
0x06, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x02, 0x32, 0xe9, 0x04, 0x0a, 0x06, 0x57, 0x61,
|
||||
0x6c, 0x6c, 0x65, 0x74, 0x12, 0xa1, 0x01, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57,
|
||||
0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x33, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d,
|
||||
0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x61, 0x6c,
|
||||
0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x74, 0x68,
|
||||
0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e,
|
||||
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4b, 0x65, 0x79, 0x6d,
|
||||
0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0e, 0x6b, 0x65, 0x79, 0x6d,
|
||||
0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x22, 0x92, 0x01, 0x0a, 0x13, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69,
|
||||
0x74, 0x5f, 0x74, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||
0x10, 0x67, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x78, 0x44, 0x61, 0x74,
|
||||
0x61, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d,
|
||||
0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a,
|
||||
0x03, 0x61, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x22,
|
||||
0xa2, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x74, 0x68,
|
||||
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61,
|
||||
0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2f, 0x63,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x74, 0x0a, 0x0c, 0x57, 0x61, 0x6c, 0x6c,
|
||||
0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
|
||||
0x1a, 0x2e, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69,
|
||||
0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76,
|
||||
0x32, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61,
|
||||
0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x8d,
|
||||
0x01, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6e, 0x65, 0x6d, 0x6f,
|
||||
0x6e, 0x69, 0x63, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x38, 0x2e, 0x65, 0x74,
|
||||
0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
|
||||
0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x6e,
|
||||
0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f,
|
||||
0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x6d, 0x6e, 0x65,
|
||||
0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0xb4,
|
||||
0x01, 0x0a, 0x0f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72,
|
||||
0x65, 0x73, 0x12, 0x36, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61,
|
||||
0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73,
|
||||
0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f,
|
||||
0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x65, 0x74, 0x68,
|
||||
0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e,
|
||||
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a,
|
||||
0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65,
|
||||
0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73,
|
||||
0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c,
|
||||
0x53, 0x69, 0x7a, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x12, 0x32, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70,
|
||||
0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
|
||||
0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x62, 0x6c, 0x69,
|
||||
0x63, 0x4b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x6f, 0x73,
|
||||
0x69, 0x74, 0x5f, 0x74, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
|
||||
0x52, 0x0d, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x78, 0x44, 0x61, 0x74, 0x61, 0x12,
|
||||
0x27, 0x0a, 0x0f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61,
|
||||
0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x22, 0x4b, 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x75,
|
||||
0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52,
|
||||
0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69,
|
||||
0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x69, 0x6e,
|
||||
0x64, 0x69, 0x63, 0x65, 0x73, 0x22, 0x5e, 0x0a, 0x0b, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
|
||||
0x12, 0x33, 0x0a, 0x15, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e,
|
||||
0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x14, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d,
|
||||
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4f, 0x0a, 0x0c, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x74,
|
||||
0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x78, 0x70, 0x69,
|
||||
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdf, 0x01, 0x0a, 0x16, 0x4e, 0x6f, 0x64, 0x65, 0x43,
|
||||
0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x64, 0x65,
|
||||
0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x12, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f,
|
||||
0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65,
|
||||
0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x08, 0x52, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x67,
|
||||
0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x04, 0x52, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x38,
|
||||
0x0a, 0x18, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c,
|
||||
0x52, 0x16, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63,
|
||||
0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x80, 0x01, 0x0a, 0x14, 0x4c, 0x6f, 0x67,
|
||||
0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x36, 0x0a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6c,
|
||||
0x6f, 0x67, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x67,
|
||||
0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x65, 0x61,
|
||||
0x63, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
|
||||
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x4c,
|
||||
0x6f, 0x67, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x93, 0x01, 0x0a, 0x15,
|
||||
0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
|
||||
0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
|
||||
0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x33, 0x0a, 0x15,
|
||||
0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d,
|
||||
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x70, 0x61, 0x73,
|
||||
0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x22, 0x38, 0x0a, 0x11, 0x48, 0x61, 0x73, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74,
|
||||
0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x77,
|
||||
0x61, 0x6c, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x76, 0x0a, 0x16, 0x49,
|
||||
0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72,
|
||||
0x65, 0x73, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28,
|
||||
0x09, 0x52, 0x11, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x49, 0x6d, 0x70, 0x6f,
|
||||
0x72, 0x74, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65,
|
||||
0x73, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x11, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x50, 0x61, 0x73, 0x73, 0x77,
|
||||
0x6f, 0x72, 0x64, 0x22, 0x4b, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79,
|
||||
0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30,
|
||||
0x0a, 0x14, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69,
|
||||
0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x12, 0x69, 0x6d,
|
||||
0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x73,
|
||||
0x22, 0x57, 0x0a, 0x12, 0x48, 0x61, 0x73, 0x55, 0x73, 0x65, 0x64, 0x57, 0x65, 0x62, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x69,
|
||||
0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68,
|
||||
0x61, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61,
|
||||
0x73, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
|
||||
0x68, 0x61, 0x73, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x22, 0x22, 0x0a, 0x0c, 0x4c, 0x6f, 0x67,
|
||||
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67,
|
||||
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x22, 0x9e, 0x02,
|
||||
0x0a, 0x14, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e,
|
||||
0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65,
|
||||
0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x6e,
|
||||
0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6e,
|
||||
0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x69, 0x6e,
|
||||
0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67,
|
||||
0x12, 0x21, 0x0a, 0x0c, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x54,
|
||||
0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x63,
|
||||
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18,
|
||||
0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x43, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a,
|
||||
0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x20, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68,
|
||||
0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48,
|
||||
0x65, 0x61, 0x64, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x2a, 0x37,
|
||||
0x0a, 0x0e, 0x4b, 0x65, 0x79, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64,
|
||||
0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x52, 0x49, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a,
|
||||
0x08, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52,
|
||||
0x45, 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x02, 0x32, 0xe9, 0x04, 0x0a, 0x06, 0x57, 0x61, 0x6c, 0x6c,
|
||||
0x65, 0x74, 0x12, 0xa1, 0x01, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x61, 0x6c,
|
||||
0x6c, 0x65, 0x74, 0x12, 0x33, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76,
|
||||
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f,
|
||||
0x72, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x32,
|
||||
0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x77, 0x61, 0x6c, 0x6c, 0x65,
|
||||
0x74, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x69, 0x6d, 0x70, 0x6f,
|
||||
0x72, 0x74, 0x3a, 0x01, 0x2a, 0x32, 0xb0, 0x02, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
|
||||
0x74, 0x73, 0x12, 0x99, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x73, 0x12, 0x33, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76,
|
||||
0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65,
|
||||
0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72,
|
||||
0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72,
|
||||
0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
|
||||
0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26,
|
||||
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69,
|
||||
0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2f, 0x63, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x74, 0x0a, 0x0c, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74,
|
||||
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2e,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e,
|
||||
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69,
|
||||
0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x87,
|
||||
0x01, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
|
||||
0x64, 0x12, 0x35, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c,
|
||||
0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e,
|
||||
0x76, 0x32, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
|
||||
0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
|
||||
0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61,
|
||||
0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
|
||||
0x2f, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x01, 0x2a, 0x32, 0x81, 0x08, 0x0a, 0x06, 0x42, 0x65, 0x61,
|
||||
0x63, 0x6f, 0x6e, 0x12, 0x84, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x65, 0x61, 0x63, 0x6f,
|
||||
0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
|
||||
0x34, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64,
|
||||
0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32,
|
||||
0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f,
|
||||
0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x62, 0x65, 0x61,
|
||||
0x63, 0x6f, 0x6e, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0xb7, 0x01, 0x0a, 0x19, 0x47,
|
||||
0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x74, 0x69,
|
||||
0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72,
|
||||
0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
|
||||
0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72,
|
||||
0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x35, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68,
|
||||
0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
|
||||
0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24,
|
||||
0x12, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f,
|
||||
0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x12, 0xac, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69,
|
||||
0x64, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
|
||||
0x12, 0x32, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e,
|
||||
0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
|
||||
0x6f, 0x72, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e,
|
||||
0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c,
|
||||
0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
|
||||
0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02,
|
||||
0x22, 0x12, 0x20, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
|
||||
0x2f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x2f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61,
|
||||
0x6e, 0x63, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64,
|
||||
0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d,
|
||||
0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65,
|
||||
0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69,
|
||||
0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f,
|
||||
0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x62, 0x65,
|
||||
0x61, 0x63, 0x6f, 0x6e, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12,
|
||||
0x9c, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
|
||||
0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x33, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72,
|
||||
0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
|
||||
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x61,
|
||||
0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e,
|
||||
0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61,
|
||||
0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42,
|
||||
0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12,
|
||||
0x1d, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x62,
|
||||
0x65, 0x61, 0x63, 0x6f, 0x6e, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x76,
|
||||
0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x51, 0x75,
|
||||
0x65, 0x75, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x25, 0x2e, 0x65, 0x74,
|
||||
0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
|
||||
0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x51, 0x75, 0x65,
|
||||
0x75, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x76, 0x32, 0x2f,
|
||||
0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e,
|
||||
0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x64, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65,
|
||||
0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x65, 0x74, 0x68,
|
||||
0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
|
||||
0x61, 0x31, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x73, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c,
|
||||
0x12, 0x1a, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f,
|
||||
0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x2f, 0x70, 0x65, 0x65, 0x72, 0x73, 0x32, 0xcc, 0x04, 0x0a,
|
||||
0x06, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x97, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42,
|
||||
0x65, 0x61, 0x63, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x36, 0x2e, 0x65, 0x74,
|
||||
0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
|
||||
0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64,
|
||||
0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x32,
|
||||
0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74,
|
||||
0x68, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x12, 0x8d, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x45, 0x6e, 0x64,
|
||||
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x34,
|
||||
0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
|
||||
0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e,
|
||||
0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c,
|
||||
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69,
|
||||
0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x8d, 0x01, 0x0a,
|
||||
0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69,
|
||||
0x63, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x38, 0x2e, 0x65, 0x74, 0x68, 0x65,
|
||||
0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61,
|
||||
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72,
|
||||
0x61, 0x74, 0x65, 0x4d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x32,
|
||||
0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x6d, 0x6e, 0x65, 0x6d, 0x6f,
|
||||
0x6e, 0x69, 0x63, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0xb4, 0x01, 0x0a,
|
||||
0x0f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73,
|
||||
0x12, 0x36, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69,
|
||||
0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76,
|
||||
0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65,
|
||||
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72,
|
||||
0x4c, 0x6f, 0x67, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76,
|
||||
0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x68, 0x65, 0x61, 0x6c,
|
||||
0x74, 0x68, 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
|
||||
0x73, 0x12, 0x83, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x65, 0x61, 0x63,
|
||||
0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x24,
|
||||
0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e,
|
||||
0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x76,
|
||||
0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x68, 0x65, 0x61, 0x6c,
|
||||
0x74, 0x68, 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x2f, 0x73,
|
||||
0x74, 0x72, 0x65, 0x61, 0x6d, 0x30, 0x01, 0x12, 0x91, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65,
|
||||
0x61, 0x6d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x12,
|
||||
0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
||||
0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65,
|
||||
0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f,
|
||||
0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x68, 0x65, 0x61,
|
||||
0x6c, 0x74, 0x68, 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
|
||||
0x6f, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x30, 0x01, 0x32, 0xea, 0x03, 0x0a, 0x04,
|
||||
0x41, 0x75, 0x74, 0x68, 0x12, 0x7b, 0x0a, 0x0a, 0x48, 0x61, 0x73, 0x55, 0x73, 0x65, 0x64, 0x57,
|
||||
0x65, 0x62, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x32, 0x2e, 0x65, 0x74, 0x68,
|
||||
0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e,
|
||||
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x61, 0x73, 0x55,
|
||||
0x73, 0x65, 0x64, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21,
|
||||
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69,
|
||||
0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65,
|
||||
0x64, 0x12, 0x82, 0x01, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x2e, 0x65, 0x74,
|
||||
0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
|
||||
0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74,
|
||||
0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72,
|
||||
0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
|
||||
0x4b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x32, 0x2f, 0x76,
|
||||
0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2f,
|
||||
0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,
|
||||
0x3a, 0x01, 0x2a, 0x32, 0xb0, 0x02, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73,
|
||||
0x12, 0x99, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x73, 0x12, 0x33, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c,
|
||||
0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e,
|
||||
0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75,
|
||||
0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3,
|
||||
0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
|
||||
0x74, 0x6f, 0x72, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x87, 0x01, 0x0a,
|
||||
0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12,
|
||||
0x35, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64,
|
||||
0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32,
|
||||
0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x26,
|
||||
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69,
|
||||
0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x2f, 0x65,
|
||||
0x64, 0x69, 0x74, 0x3a, 0x01, 0x2a, 0x32, 0x81, 0x08, 0x0a, 0x06, 0x42, 0x65, 0x61, 0x63, 0x6f,
|
||||
0x6e, 0x12, 0x84, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x53,
|
||||
0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x34, 0x2e,
|
||||
0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
|
||||
0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x42,
|
||||
0x65, 0x61, 0x63, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x76, 0x32,
|
||||
0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x62, 0x65, 0x61, 0x63, 0x6f,
|
||||
0x6e, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0xb7, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74,
|
||||
0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
|
||||
0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75,
|
||||
0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47,
|
||||
0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x74, 0x69,
|
||||
0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x35, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76,
|
||||
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f,
|
||||
0x72, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22,
|
||||
0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x62, 0x65,
|
||||
0x61, 0x63, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x12, 0xac, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
|
||||
0x74, 0x6f, 0x72, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x32,
|
||||
0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31,
|
||||
0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
|
||||
0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x33, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74,
|
||||
0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
|
||||
0x61, 0x74, 0x6f, 0x72, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12,
|
||||
0x20, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x62,
|
||||
0x65, 0x61, 0x63, 0x6f, 0x6e, 0x2f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
|
||||
0x65, 0x12, 0x89, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
|
||||
0x6f, 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65,
|
||||
0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
|
||||
0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x21, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68,
|
||||
0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
|
||||
0x74, 0x6f, 0x72, 0x73, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x76,
|
||||
0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x62, 0x65, 0x61, 0x63,
|
||||
0x6f, 0x6e, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x9c, 0x01,
|
||||
0x0a, 0x14, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x61,
|
||||
0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x33, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75,
|
||||
0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x61, 0x6c, 0x61,
|
||||
0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x65, 0x74,
|
||||
0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
|
||||
0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x61, 0x6c,
|
||||
0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f,
|
||||
0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x62, 0x65, 0x61,
|
||||
0x63, 0x6f, 0x6e, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x76, 0x0a, 0x11,
|
||||
0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x51, 0x75, 0x65, 0x75,
|
||||
0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x25, 0x2e, 0x65, 0x74, 0x68, 0x65,
|
||||
0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
|
||||
0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x51, 0x75, 0x65, 0x75, 0x65,
|
||||
0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61,
|
||||
0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x2f, 0x71,
|
||||
0x75, 0x65, 0x75, 0x65, 0x12, 0x64, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x73,
|
||||
0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
||||
0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72,
|
||||
0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
|
||||
0x2e, 0x50, 0x65, 0x65, 0x72, 0x73, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a,
|
||||
0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x62, 0x65,
|
||||
0x61, 0x63, 0x6f, 0x6e, 0x2f, 0x70, 0x65, 0x65, 0x72, 0x73, 0x32, 0xd4, 0x04, 0x0a, 0x06, 0x48,
|
||||
0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x97, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x65, 0x61,
|
||||
0x63, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x36, 0x2e, 0x65, 0x74, 0x68, 0x65,
|
||||
0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61,
|
||||
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43,
|
||||
0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x32, 0x2f, 0x76,
|
||||
0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2f,
|
||||
0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
|
||||
0x8d, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f,
|
||||
0x69, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x34, 0x2e, 0x65,
|
||||
0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f,
|
||||
0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f,
|
||||
0x67, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x32, 0x2f,
|
||||
0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
|
||||
0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12,
|
||||
0x8b, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e,
|
||||
0x4c, 0x6f, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x65,
|
||||
0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f,
|
||||
0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f,
|
||||
0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93,
|
||||
0x02, 0x29, 0x12, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f,
|
||||
0x72, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x62, 0x65,
|
||||
0x61, 0x63, 0x6f, 0x6e, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x30, 0x01, 0x12, 0x91, 0x01,
|
||||
0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f,
|
||||
0x72, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e,
|
||||
0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
|
||||
0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c,
|
||||
0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4,
|
||||
0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
|
||||
0x6f, 0x72, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x76,
|
||||
0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x30,
|
||||
0x01, 0x32, 0xea, 0x03, 0x0a, 0x04, 0x41, 0x75, 0x74, 0x68, 0x12, 0x7b, 0x0a, 0x0a, 0x48, 0x61,
|
||||
0x73, 0x55, 0x73, 0x65, 0x64, 0x57, 0x65, 0x62, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
|
||||
0x1a, 0x32, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69,
|
||||
0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76,
|
||||
0x32, 0x2e, 0x48, 0x61, 0x73, 0x55, 0x73, 0x65, 0x64, 0x57, 0x65, 0x62, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x76,
|
||||
0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x69, 0x6e, 0x69, 0x74,
|
||||
0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x82, 0x01, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69,
|
||||
0x6e, 0x12, 0x2b, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x22, 0x13,
|
||||
0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x6c, 0x6f,
|
||||
0x67, 0x69, 0x6e, 0x3a, 0x01, 0x2a, 0x12, 0x84, 0x01, 0x0a, 0x06, 0x53, 0x69, 0x67, 0x6e, 0x75,
|
||||
0x70, 0x12, 0x2b, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c,
|
||||
0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e,
|
||||
0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c,
|
||||
0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
|
||||
0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e,
|
||||
0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3,
|
||||
0xe4, 0x93, 0x02, 0x18, 0x22, 0x13, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
|
||||
0x74, 0x6f, 0x72, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x3a, 0x01, 0x2a, 0x12, 0x84, 0x01, 0x0a,
|
||||
0x06, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x12, 0x2b, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65,
|
||||
0x75, 0x6d, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e,
|
||||
0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
|
||||
0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x22, 0x14, 0x2f, 0x76, 0x32, 0x2f,
|
||||
0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x75, 0x70,
|
||||
0x3a, 0x01, 0x2a, 0x12, 0x59, 0x0a, 0x06, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x12, 0x16, 0x2e,
|
||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
||||
0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1f, 0x82,
|
||||
0xd3, 0xe4, 0x93, 0x02, 0x19, 0x22, 0x14, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64,
|
||||
0x61, 0x74, 0x6f, 0x72, 0x2f, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x3a, 0x01, 0x2a, 0x62, 0x06,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3,
|
||||
0xe4, 0x93, 0x02, 0x19, 0x22, 0x14, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
|
||||
0x74, 0x6f, 0x72, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x3a, 0x01, 0x2a, 0x12, 0x59, 0x0a,
|
||||
0x06, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
|
||||
0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
||||
0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x22,
|
||||
0x14, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x6c,
|
||||
0x6f, 0x67, 0x6f, 0x75, 0x74, 0x3a, 0x01, 0x2a, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -1749,6 +1751,7 @@ var file_proto_validator_accounts_v2_web_api_proto_goTypes = []interface{}{
|
||||
(*v1alpha1.ValidatorBalances)(nil), // 30: ethereum.eth.v1alpha1.ValidatorBalances
|
||||
(*v1alpha1.ValidatorQueue)(nil), // 31: ethereum.eth.v1alpha1.ValidatorQueue
|
||||
(*v1alpha1.Peers)(nil), // 32: ethereum.eth.v1alpha1.Peers
|
||||
(*v1.LogsResponse)(nil), // 33: ethereum.beacon.rpc.v1.LogsResponse
|
||||
}
|
||||
var file_proto_validator_accounts_v2_web_api_proto_depIdxs = []int32{
|
||||
0, // 0: ethereum.validator.accounts.v2.CreateWalletRequest.keymanager:type_name -> ethereum.validator.accounts.v2.KeymanagerKind
|
||||
@@ -1792,7 +1795,7 @@ var file_proto_validator_accounts_v2_web_api_proto_depIdxs = []int32{
|
||||
32, // 38: ethereum.validator.accounts.v2.Beacon.GetPeers:output_type -> ethereum.eth.v1alpha1.Peers
|
||||
12, // 39: ethereum.validator.accounts.v2.Health.GetBeaconNodeConnection:output_type -> ethereum.validator.accounts.v2.NodeConnectionResponse
|
||||
13, // 40: ethereum.validator.accounts.v2.Health.GetLogsEndpoints:output_type -> ethereum.validator.accounts.v2.LogsEndpointResponse
|
||||
19, // 41: ethereum.validator.accounts.v2.Health.StreamBeaconLogs:output_type -> ethereum.validator.accounts.v2.LogsResponse
|
||||
33, // 41: ethereum.validator.accounts.v2.Health.StreamBeaconLogs:output_type -> ethereum.beacon.rpc.v1.LogsResponse
|
||||
19, // 42: ethereum.validator.accounts.v2.Health.StreamValidatorLogs:output_type -> ethereum.validator.accounts.v2.LogsResponse
|
||||
18, // 43: ethereum.validator.accounts.v2.Auth.HasUsedWeb:output_type -> ethereum.validator.accounts.v2.HasUsedWebResponse
|
||||
11, // 44: ethereum.validator.accounts.v2.Auth.Login:output_type -> ethereum.validator.accounts.v2.AuthResponse
|
||||
@@ -2709,7 +2712,7 @@ func (c *healthClient) StreamBeaconLogs(ctx context.Context, in *empty.Empty, op
|
||||
}
|
||||
|
||||
type Health_StreamBeaconLogsClient interface {
|
||||
Recv() (*LogsResponse, error)
|
||||
Recv() (*v1.LogsResponse, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
@@ -2717,8 +2720,8 @@ type healthStreamBeaconLogsClient struct {
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func (x *healthStreamBeaconLogsClient) Recv() (*LogsResponse, error) {
|
||||
m := new(LogsResponse)
|
||||
func (x *healthStreamBeaconLogsClient) Recv() (*v1.LogsResponse, error) {
|
||||
m := new(v1.LogsResponse)
|
||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -2831,7 +2834,7 @@ func _Health_StreamBeaconLogs_Handler(srv interface{}, stream grpc.ServerStream)
|
||||
}
|
||||
|
||||
type Health_StreamBeaconLogsServer interface {
|
||||
Send(*LogsResponse) error
|
||||
Send(*v1.LogsResponse) error
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
@@ -2839,7 +2842,7 @@ type healthStreamBeaconLogsServer struct {
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
func (x *healthStreamBeaconLogsServer) Send(m *LogsResponse) error {
|
||||
func (x *healthStreamBeaconLogsServer) Send(m *v1.LogsResponse) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@ go_library(
|
||||
"//shared/event:go_default_library",
|
||||
"//shared/params:go_default_library",
|
||||
"//shared/rand:go_default_library",
|
||||
"@com_github_gorilla_websocket//:go_default_library",
|
||||
"@com_github_hashicorp_golang_lru//:go_default_library",
|
||||
"@com_github_sirupsen_logrus//:go_default_library",
|
||||
],
|
||||
|
||||
@@ -2,90 +2,66 @@ package logutil
|
||||
|
||||
import (
|
||||
"io"
|
||||
"net/http"
|
||||
"sync"
|
||||
|
||||
"github.com/gorilla/websocket"
|
||||
lru "github.com/hashicorp/golang-lru"
|
||||
"github.com/prysmaticlabs/prysm/shared/event"
|
||||
"github.com/prysmaticlabs/prysm/shared/rand"
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
const (
|
||||
// LogCacheSize is the number of log entries to keep in memory for new
|
||||
// websocket connections.
|
||||
LogCacheSize = 20
|
||||
// Size for the buffered channel used for receiving log messages. The default
|
||||
// value should be enough to handle most incoming amount of logs without
|
||||
// blocking the thread.
|
||||
logBufferSize = 100
|
||||
// The number of log entries to keep in memory.
|
||||
logCacheSize = 20
|
||||
)
|
||||
|
||||
var (
|
||||
// Compile time interface check.
|
||||
_ = io.Writer(&StreamServer{})
|
||||
streamUpgrader = websocket.Upgrader{
|
||||
ReadBufferSize: 1024,
|
||||
WriteBufferSize: 1024,
|
||||
CheckOrigin: func(r *http.Request) bool {
|
||||
// Only allow requests from localhost.
|
||||
return true
|
||||
},
|
||||
}
|
||||
// Compile time interface checks.
|
||||
_ = io.Writer(&StreamServer{})
|
||||
_ = Streamer(&StreamServer{})
|
||||
)
|
||||
|
||||
// Streamer defines a struct which can retrieve and stream process logs.
|
||||
type Streamer interface {
|
||||
GetLastFewLogs() [][]byte
|
||||
LogsFeed() *event.Feed
|
||||
}
|
||||
|
||||
// StreamServer defines a a websocket server which can receive events from
|
||||
// a feed and write them to open websocket connections.
|
||||
type StreamServer struct {
|
||||
feed *event.Feed
|
||||
cache *lru.Cache
|
||||
clients map[*websocket.Conn]bool
|
||||
lock sync.RWMutex
|
||||
feed *event.Feed
|
||||
cache *lru.Cache
|
||||
}
|
||||
|
||||
// NewLogStreamServer initializes a new stream server capable of
|
||||
// streaming log events via a websocket connection.
|
||||
func NewLogStreamServer() *StreamServer {
|
||||
c, err := lru.New(LogCacheSize)
|
||||
// NewStreamServer initializes a new stream server capable of
|
||||
// streaming log events.
|
||||
func NewStreamServer() *StreamServer {
|
||||
c, err := lru.New(logCacheSize)
|
||||
if err != nil {
|
||||
panic(err) // This can only occur when the LogCacheSize is negative.
|
||||
}
|
||||
ss := &StreamServer{
|
||||
feed: new(event.Feed),
|
||||
cache: c,
|
||||
clients: make(map[*websocket.Conn]bool),
|
||||
feed: new(event.Feed),
|
||||
cache: c,
|
||||
}
|
||||
addLogWriter(ss)
|
||||
go ss.sendLogsToClients()
|
||||
return ss
|
||||
}
|
||||
|
||||
// Handler for new websocket connections to stream new events received
|
||||
// via an event feed as they occur.
|
||||
func (ss *StreamServer) Handler(w http.ResponseWriter, r *http.Request) {
|
||||
conn, err := streamUpgrader.Upgrade(w, r, nil)
|
||||
if err != nil {
|
||||
log.Errorf("Could not write websocket message: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
// Backfill stream with recent messages.
|
||||
// GetLastFewLogs returns the last few entries of logs stored in an LRU cache.
|
||||
func (ss *StreamServer) GetLastFewLogs() [][]byte {
|
||||
messages := make([][]byte, 0)
|
||||
for _, k := range ss.cache.Keys() {
|
||||
d, ok := ss.cache.Get(k)
|
||||
if ok {
|
||||
if err := conn.WriteMessage(websocket.TextMessage, d.([]byte)); err != nil {
|
||||
log.Errorf("Could not write websocket message: %v", err)
|
||||
if err := conn.Close(); err != nil {
|
||||
log.Errorf("Could not close websocket connection: %v", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
messages = append(messages, d.([]byte))
|
||||
}
|
||||
}
|
||||
ss.lock.Lock()
|
||||
ss.clients[conn] = true
|
||||
ss.lock.Unlock()
|
||||
return messages
|
||||
}
|
||||
|
||||
// LogsFeed returns a feed callers can subscribe to to receive logs via a channel.
|
||||
func (ss *StreamServer) LogsFeed() *event.Feed {
|
||||
return ss.feed
|
||||
}
|
||||
|
||||
// Write a binary message and send over the event feed.
|
||||
@@ -94,41 +70,3 @@ func (ss *StreamServer) Write(p []byte) (n int, err error) {
|
||||
ss.cache.Add(rand.NewGenerator().Uint64(), p)
|
||||
return len(p), nil
|
||||
}
|
||||
|
||||
func (ss *StreamServer) sendLogsToClients() {
|
||||
ch := make(chan []byte, logBufferSize)
|
||||
defer close(ch)
|
||||
sub := ss.feed.Subscribe(ch)
|
||||
defer sub.Unsubscribe()
|
||||
|
||||
for {
|
||||
select {
|
||||
case evt := <-ch:
|
||||
ss.lock.Lock()
|
||||
for conn := range ss.clients {
|
||||
if err := conn.WriteMessage(websocket.TextMessage, evt); err != nil {
|
||||
log.WithError(err).Error("Could not write websocket message")
|
||||
ss.removeClient(conn)
|
||||
}
|
||||
}
|
||||
ss.lock.Unlock()
|
||||
case err := <-sub.Err():
|
||||
ss.lock.Lock()
|
||||
for conn := range ss.clients {
|
||||
if err := conn.WriteMessage(websocket.CloseInternalServerErr, []byte(err.Error())); err != nil {
|
||||
log.WithError(err).Error("Could not write websocket message")
|
||||
}
|
||||
ss.removeClient(conn)
|
||||
}
|
||||
ss.lock.Unlock()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// The caller of this function needs to acquire a mutex.
|
||||
func (ss *StreamServer) removeClient(conn *websocket.Conn) {
|
||||
delete(ss.clients, conn)
|
||||
if err := conn.Close(); err != nil {
|
||||
log.Errorf("Could not close websocket connection: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,59 +1,13 @@
|
||||
package logutil
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"bytes"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net"
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/prysmaticlabs/prysm/shared/testutil/require"
|
||||
)
|
||||
|
||||
type fakeAddr int
|
||||
|
||||
var (
|
||||
localAddr = fakeAddr(1)
|
||||
remoteAddr = fakeAddr(2)
|
||||
)
|
||||
|
||||
func (a fakeAddr) Network() string {
|
||||
return "net"
|
||||
}
|
||||
|
||||
func (a fakeAddr) String() string {
|
||||
return "str"
|
||||
}
|
||||
|
||||
type fakeNetConn struct {
|
||||
io.Reader
|
||||
io.Writer
|
||||
}
|
||||
|
||||
func (c fakeNetConn) Close() error { return nil }
|
||||
func (c fakeNetConn) LocalAddr() net.Addr { return localAddr }
|
||||
func (c fakeNetConn) RemoteAddr() net.Addr { return remoteAddr }
|
||||
func (c fakeNetConn) SetDeadline(_ time.Time) error { return nil }
|
||||
func (c fakeNetConn) SetReadDeadline(_ time.Time) error { return nil }
|
||||
func (c fakeNetConn) SetWriteDeadline(_ time.Time) error { return nil }
|
||||
|
||||
type testResponseWriter struct {
|
||||
brw *bufio.ReadWriter
|
||||
http.ResponseWriter
|
||||
}
|
||||
|
||||
func (resp *testResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) {
|
||||
rw := bufio.NewReadWriter(bufio.NewReader(strings.NewReader("")), bufio.NewWriter(&bytes.Buffer{}))
|
||||
return fakeNetConn{strings.NewReader(""), resp.brw}, rw, nil
|
||||
}
|
||||
|
||||
func TestLogStreamServer_BackfillsMessages(t *testing.T) {
|
||||
ss := NewLogStreamServer()
|
||||
func TestStreamServer_BackfillsMessages(t *testing.T) {
|
||||
ss := NewStreamServer()
|
||||
msgs := [][]byte{
|
||||
[]byte("foo"),
|
||||
[]byte("bar"),
|
||||
@@ -64,33 +18,6 @@ func TestLogStreamServer_BackfillsMessages(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
br := bufio.NewReader(strings.NewReader(""))
|
||||
buf := new(bytes.Buffer)
|
||||
bw := bufio.NewWriter(buf)
|
||||
rw := httptest.NewRecorder()
|
||||
resp := &testResponseWriter{
|
||||
brw: bufio.NewReadWriter(br, bw),
|
||||
ResponseWriter: rw,
|
||||
}
|
||||
req := &http.Request{
|
||||
Method: "GET",
|
||||
Host: "localhost",
|
||||
Header: http.Header{
|
||||
"Upgrade": []string{"websocket"},
|
||||
"Connection": []string{"upgrade"},
|
||||
"Sec-Websocket-Key": []string{"dGhlIHNhbXBsZSBub25jZQ=="},
|
||||
"Sec-Websocket-Version": []string{"13"},
|
||||
},
|
||||
}
|
||||
|
||||
ss.Handler(resp, req)
|
||||
go ss.sendLogsToClients()
|
||||
require.NoError(t, resp.brw.Flush())
|
||||
dst, err := ioutil.ReadAll(buf)
|
||||
require.NoError(t, err)
|
||||
for _, msg := range msgs {
|
||||
if !strings.Contains(string(dst), string(msg)) {
|
||||
t.Errorf("Stream does contain message %s", msg)
|
||||
}
|
||||
}
|
||||
recentMessages := ss.GetLastFewLogs()
|
||||
require.DeepEqual(t, msgs, recentMessages)
|
||||
}
|
||||
|
||||
@@ -13,7 +13,6 @@ go_library(
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//shared:go_default_library",
|
||||
"//shared/logutil:go_default_library",
|
||||
"@com_github_golang_gddo//httputil:go_default_library",
|
||||
"@com_github_prometheus_client_golang//prometheus:go_default_library",
|
||||
"@com_github_prometheus_client_golang//prometheus/promauto:go_default_library",
|
||||
|
||||
@@ -15,7 +15,6 @@ import (
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
"github.com/prometheus/client_golang/prometheus/promhttp"
|
||||
"github.com/prysmaticlabs/prysm/shared"
|
||||
"github.com/prysmaticlabs/prysm/shared/logutil"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
@@ -47,7 +46,6 @@ func NewService(addr string, svcRegistry *shared.ServiceRegistry, additionalHand
|
||||
}))
|
||||
mux.HandleFunc("/healthz", s.healthzHandler)
|
||||
mux.HandleFunc("/goroutinez", s.goroutinezHandler)
|
||||
mux.HandleFunc("/logs", logutil.NewLogStreamServer().Handler)
|
||||
|
||||
// Register additional handlers.
|
||||
for _, h := range additionalHandlers {
|
||||
|
||||
@@ -22,7 +22,6 @@ go_library(
|
||||
visibility = ["//validator:__subpackages__"],
|
||||
deps = [
|
||||
"//beacon-chain/core/helpers:go_default_library",
|
||||
"//proto/beacon/rpc/v1:go_default_library",
|
||||
"//proto/validator/accounts/v2:go_default_library",
|
||||
"//shared/blockutil:go_default_library",
|
||||
"//shared/bls:go_default_library",
|
||||
|
||||
@@ -15,7 +15,6 @@ import (
|
||||
lru "github.com/hashicorp/golang-lru"
|
||||
"github.com/pkg/errors"
|
||||
ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1"
|
||||
pbrpc "github.com/prysmaticlabs/prysm/proto/beacon/rpc/v1"
|
||||
"github.com/prysmaticlabs/prysm/shared/bytesutil"
|
||||
"github.com/prysmaticlabs/prysm/shared/event"
|
||||
"github.com/prysmaticlabs/prysm/shared/grpcutils"
|
||||
@@ -47,12 +46,6 @@ type GenesisFetcher interface {
|
||||
GenesisInfo(ctx context.Context) (*ethpb.Genesis, error)
|
||||
}
|
||||
|
||||
// BeaconNodeInfoFetcher can retrieve information such as the logs endpoint
|
||||
// from a beacon node via RPC.
|
||||
type BeaconNodeInfoFetcher interface {
|
||||
BeaconLogsEndpoint(ctx context.Context) (string, error)
|
||||
}
|
||||
|
||||
// ValidatorService represents a service to manage the validator client
|
||||
// routine.
|
||||
type ValidatorService struct {
|
||||
@@ -326,17 +319,6 @@ func (v *ValidatorService) GenesisInfo(ctx context.Context) (*ethpb.Genesis, err
|
||||
return nc.GetGenesis(ctx, &ptypes.Empty{})
|
||||
}
|
||||
|
||||
// BeaconLogsEndpoint retrieves the websocket endpoint string at which
|
||||
// clients can subscribe to for beacon node logs.
|
||||
func (v *ValidatorService) BeaconLogsEndpoint(ctx context.Context) (string, error) {
|
||||
hc := pbrpc.NewHealthClient(v.conn)
|
||||
resp, err := hc.GetLogsEndpoint(ctx, &ptypes.Empty{})
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return resp.BeaconLogsEndpoint, nil
|
||||
}
|
||||
|
||||
// to accounts changes in the keymanager, then updates those keys'
|
||||
// buckets in bolt DB if a bucket for a key does not exist.
|
||||
func recheckValidatingKeysBucket(ctx context.Context, valDB db.Database, km keymanager.IKeymanager) {
|
||||
|
||||
@@ -14,7 +14,6 @@ import (
|
||||
)
|
||||
|
||||
var _ shared.Service = (*ValidatorService)(nil)
|
||||
var _ BeaconNodeInfoFetcher = (*ValidatorService)(nil)
|
||||
var _ GenesisFetcher = (*ValidatorService)(nil)
|
||||
var _ SyncChecker = (*ValidatorService)(nil)
|
||||
|
||||
|
||||
@@ -464,7 +464,6 @@ func (s *ValidatorClient) registerRPCService(cliCtx *cli.Context, km keymanager.
|
||||
ValidatorService: vs,
|
||||
SyncChecker: vs,
|
||||
GenesisFetcher: vs,
|
||||
BeaconNodeInfoFetcher: vs,
|
||||
NodeGatewayEndpoint: nodeGatewayEndpoint,
|
||||
WalletDir: walletDir,
|
||||
Wallet: s.wallet,
|
||||
|
||||
@@ -15,11 +15,13 @@ go_library(
|
||||
importpath = "github.com/prysmaticlabs/prysm/validator/rpc",
|
||||
visibility = ["//validator:__subpackages__"],
|
||||
deps = [
|
||||
"//proto/beacon/rpc/v1:go_default_library",
|
||||
"//proto/validator/accounts/v2:go_default_library",
|
||||
"//shared/cmd:go_default_library",
|
||||
"//shared/event:go_default_library",
|
||||
"//shared/featureconfig:go_default_library",
|
||||
"//shared/fileutil:go_default_library",
|
||||
"//shared/logutil:go_default_library",
|
||||
"//shared/pagination:go_default_library",
|
||||
"//shared/petnames:go_default_library",
|
||||
"//shared/promptutil:go_default_library",
|
||||
|
||||
@@ -12,6 +12,7 @@ import (
|
||||
grpc_prometheus "github.com/grpc-ecosystem/go-grpc-prometheus"
|
||||
"github.com/pkg/errors"
|
||||
ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1"
|
||||
healthpb "github.com/prysmaticlabs/prysm/proto/beacon/rpc/v1"
|
||||
pb "github.com/prysmaticlabs/prysm/proto/validator/accounts/v2"
|
||||
"github.com/prysmaticlabs/prysm/validator/client"
|
||||
"google.golang.org/grpc"
|
||||
@@ -54,6 +55,7 @@ func (s *Server) registerBeaconClient() error {
|
||||
}
|
||||
s.beaconChainClient = ethpb.NewBeaconChainClient(conn)
|
||||
s.beaconNodeClient = ethpb.NewNodeClient(conn)
|
||||
s.beaconNodeHealthClient = healthpb.NewHealthClient(conn)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@ package rpc
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
ptypes "github.com/gogo/protobuf/types"
|
||||
"github.com/pkg/errors"
|
||||
pb "github.com/prysmaticlabs/prysm/proto/validator/accounts/v2"
|
||||
"google.golang.org/grpc/codes"
|
||||
"google.golang.org/grpc/status"
|
||||
@@ -38,22 +38,63 @@ func (s *Server) GetBeaconNodeConnection(ctx context.Context, _ *ptypes.Empty) (
|
||||
|
||||
// GetLogsEndpoints for the beacon and validator client.
|
||||
func (s *Server) GetLogsEndpoints(ctx context.Context, _ *ptypes.Empty) (*pb.LogsEndpointResponse, error) {
|
||||
beaconLogsEndpoint, err := s.beaconNodeInfoFetcher.BeaconLogsEndpoint(ctx)
|
||||
return nil, status.Error(codes.Unimplemented, "unimplemented")
|
||||
}
|
||||
|
||||
// StreamBeaconLogs from the beacon node via a gRPC server-side stream.
|
||||
func (s *Server) StreamBeaconLogs(req *ptypes.Empty, stream pb.Health_StreamBeaconLogsServer) error {
|
||||
client, err := s.beaconNodeHealthClient.StreamBeaconLogs(s.ctx, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return err
|
||||
}
|
||||
for {
|
||||
select {
|
||||
case <-s.ctx.Done():
|
||||
return status.Error(codes.Canceled, "Context canceled")
|
||||
case <-stream.Context().Done():
|
||||
return status.Error(codes.Canceled, "Context canceled")
|
||||
default:
|
||||
resp, err := client.Recv()
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "could not receive beacon logs from stream")
|
||||
}
|
||||
if err := stream.Send(resp); err != nil {
|
||||
return status.Errorf(codes.Unavailable, "Could not send over stream: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return &pb.LogsEndpointResponse{
|
||||
BeaconLogsEndpoint: beaconLogsEndpoint + "/logs",
|
||||
ValidatorLogsEndpoint: fmt.Sprintf("%s:%d/logs", s.validatorMonitoringHost, s.validatorMonitoringPort),
|
||||
}, nil
|
||||
}
|
||||
|
||||
// StreamBeaconLogs --
|
||||
func (s *Server) StreamBeaconLogs(_ *ptypes.Empty, stream pb.Health_StreamBeaconLogsServer) error {
|
||||
return status.Error(codes.Unimplemented, "unimplemented")
|
||||
}
|
||||
|
||||
// StreamValidatorLogs --
|
||||
// StreamValidatorLogs from the validator client via a gRPC server-side stream.
|
||||
func (s *Server) StreamValidatorLogs(_ *ptypes.Empty, stream pb.Health_StreamValidatorLogsServer) error {
|
||||
return status.Error(codes.Unimplemented, "unimplemented")
|
||||
ch := make(chan []byte, s.streamLogsBufferSize)
|
||||
defer close(ch)
|
||||
sub := s.logsStreamer.LogsFeed().Subscribe(ch)
|
||||
defer sub.Unsubscribe()
|
||||
|
||||
recentLogs := s.logsStreamer.GetLastFewLogs()
|
||||
logStrings := make([]string, len(recentLogs))
|
||||
for i, log := range recentLogs {
|
||||
logStrings[i] = string(log)
|
||||
}
|
||||
if err := stream.Send(&pb.LogsResponse{
|
||||
Logs: logStrings,
|
||||
}); err != nil {
|
||||
return status.Errorf(codes.Unavailable, "Could not send over stream: %v", err)
|
||||
}
|
||||
for {
|
||||
select {
|
||||
case log := <-ch:
|
||||
resp := &pb.LogsResponse{
|
||||
Logs: []string{string(log)},
|
||||
}
|
||||
if err := stream.Send(resp); err != nil {
|
||||
return status.Errorf(codes.Unavailable, "Could not send over stream: %v", err)
|
||||
}
|
||||
case <-s.ctx.Done():
|
||||
return status.Error(codes.Canceled, "Context canceled")
|
||||
case <-stream.Context().Done():
|
||||
return status.Error(codes.Canceled, "Context canceled")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,19 +63,3 @@ func TestServer_GetBeaconNodeConnection(t *testing.T) {
|
||||
}
|
||||
require.DeepEqual(t, want, got)
|
||||
}
|
||||
|
||||
func TestServer_GetLogsEndpoints(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
s := &Server{
|
||||
validatorMonitoringHost: "localhost",
|
||||
validatorMonitoringPort: 8081,
|
||||
beaconNodeInfoFetcher: &mockBeaconInfoFetcher{endpoint: "localhost:8080"},
|
||||
}
|
||||
got, err := s.GetLogsEndpoints(ctx, &ptypes.Empty{})
|
||||
require.NoError(t, err)
|
||||
want := &pb.LogsEndpointResponse{
|
||||
BeaconLogsEndpoint: "localhost:8080/logs",
|
||||
ValidatorLogsEndpoint: "localhost:8081/logs",
|
||||
}
|
||||
require.DeepEqual(t, want, got)
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ var (
|
||||
"/ethereum.validator.accounts.v2.Beacon/GetValidators": true,
|
||||
"/ethereum.validator.accounts.v2.Beacon/GetValidatorQueue": true,
|
||||
"/ethereum.validator.accounts.v2.Beacon/GetPeers": true,
|
||||
"/ethereum.validator.accounts.v2.Beacon/StreamValidatorLogs": true,
|
||||
}
|
||||
authLock sync.RWMutex
|
||||
)
|
||||
|
||||
@@ -12,8 +12,10 @@ import (
|
||||
grpc_opentracing "github.com/grpc-ecosystem/go-grpc-middleware/tracing/opentracing"
|
||||
grpc_prometheus "github.com/grpc-ecosystem/go-grpc-prometheus"
|
||||
ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1"
|
||||
healthpb "github.com/prysmaticlabs/prysm/proto/beacon/rpc/v1"
|
||||
pb "github.com/prysmaticlabs/prysm/proto/validator/accounts/v2"
|
||||
"github.com/prysmaticlabs/prysm/shared/event"
|
||||
"github.com/prysmaticlabs/prysm/shared/logutil"
|
||||
"github.com/prysmaticlabs/prysm/shared/rand"
|
||||
"github.com/prysmaticlabs/prysm/shared/traceutil"
|
||||
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
|
||||
@@ -54,7 +56,6 @@ type Config struct {
|
||||
ValidatorService *client.ValidatorService
|
||||
SyncChecker client.SyncChecker
|
||||
GenesisFetcher client.GenesisFetcher
|
||||
BeaconNodeInfoFetcher client.BeaconNodeInfoFetcher
|
||||
WalletInitializedFeed *event.Feed
|
||||
NodeGatewayEndpoint string
|
||||
Wallet *wallet.Wallet
|
||||
@@ -63,8 +64,11 @@ type Config struct {
|
||||
|
||||
// Server defining a gRPC server for the remote signer API.
|
||||
type Server struct {
|
||||
logsStreamer logutil.Streamer
|
||||
streamLogsBufferSize int
|
||||
beaconChainClient ethpb.BeaconChainClient
|
||||
beaconNodeClient ethpb.NodeClient
|
||||
beaconNodeHealthClient healthpb.HealthClient
|
||||
valDB db.Database
|
||||
ctx context.Context
|
||||
cancel context.CancelFunc
|
||||
@@ -86,7 +90,6 @@ type Server struct {
|
||||
validatorService *client.ValidatorService
|
||||
syncChecker client.SyncChecker
|
||||
genesisFetcher client.GenesisFetcher
|
||||
beaconNodeInfoFetcher client.BeaconNodeInfoFetcher
|
||||
walletDir string
|
||||
wallet *wallet.Wallet
|
||||
walletInitializedFeed *event.Feed
|
||||
@@ -104,6 +107,8 @@ func NewServer(ctx context.Context, cfg *Config) *Server {
|
||||
return &Server{
|
||||
ctx: ctx,
|
||||
cancel: cancel,
|
||||
logsStreamer: logutil.NewStreamServer(),
|
||||
streamLogsBufferSize: 1000, // Enough to handle most bursts of logs in the validator client.
|
||||
host: cfg.Host,
|
||||
port: cfg.Port,
|
||||
withCert: cfg.CertFlag,
|
||||
@@ -117,7 +122,6 @@ func NewServer(ctx context.Context, cfg *Config) *Server {
|
||||
valDB: cfg.ValDB,
|
||||
validatorService: cfg.ValidatorService,
|
||||
syncChecker: cfg.SyncChecker,
|
||||
beaconNodeInfoFetcher: cfg.BeaconNodeInfoFetcher,
|
||||
genesisFetcher: cfg.GenesisFetcher,
|
||||
walletDir: cfg.WalletDir,
|
||||
walletInitializedFeed: cfg.WalletInitializedFeed,
|
||||
|
||||
Reference in New Issue
Block a user