From 157fbfb6db325a9faa354abb312e668ce3ed6f0d Mon Sep 17 00:00:00 2001 From: Reece Williams Date: Wed, 21 Aug 2024 17:50:18 -0500 Subject: [PATCH 1/9] chore(docs): protogen and README context --- gcosmos/README.md | 4 ++++ gcosmos/gserver/internal/ggrpc/server_debug.go | 1 - gcosmos/scripts/protocgen.sh | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcosmos/README.md b/gcosmos/README.md index ab61a92..f4bbc4e 100644 --- a/gcosmos/README.md +++ b/gcosmos/README.md @@ -51,12 +51,16 @@ echo -n "abandon abandon abandon abandon abandon abandon abandon abandon abandon ./gcosmos genesis gentx val 1000000stake --keyring-backend=test --chain-id=gcosmos ./gcosmos genesis collect-gentxs +# Run the following to reset the application state without having to reset the base data directory. +# (This is required until Gordian can start from a >0 height) # rm -rf ~/.simappv2/data/application.db/ + ./gcosmos start --g-http-addr 127.0.0.1:26657 --g-grpc-addr 127.0.0.1:9092 ``` # Interact ```bash +# Install the grpcurl binary in your relative directory to interact with the GRPC server. # GOBIN="$PWD" go install github.com/fullstorydev/grpcurl/cmd/grpcurl@v1 ./grpcurl -plaintext localhost:9092 list diff --git a/gcosmos/gserver/internal/ggrpc/server_debug.go b/gcosmos/gserver/internal/ggrpc/server_debug.go index 5565720..f03a8eb 100644 --- a/gcosmos/gserver/internal/ggrpc/server_debug.go +++ b/gcosmos/gserver/internal/ggrpc/server_debug.go @@ -149,7 +149,6 @@ func getGordianResponseFromSDKResult(res appmanager.TxResult) *TxResultResponse func convertEvent(e []event.Event) []*Event { events := make([]*Event, len(e)) for i, ev := range e { - attr := make([]*Attribute, len(ev.Attributes)) for j, a := range ev.Attributes { attr[j] = &Attribute{ diff --git a/gcosmos/scripts/protocgen.sh b/gcosmos/scripts/protocgen.sh index ec5a834..3e0e207 100644 --- a/gcosmos/scripts/protocgen.sh +++ b/gcosmos/scripts/protocgen.sh @@ -3,7 +3,12 @@ # # TODO: migrate to buf? +# Generates the *.go proto files from the *.proto files into a temparary `github.com/` directory. +# This directory structure is the `option go_package` string found in the proto file header. protoc --go_out=. --go-grpc_out=. proto/**/*.proto +# Copies the files from the termporary `github.com/**` directory to the `gcosmos` directory. +# Given the go_package path matches gordian's directory structure, only changed files are copied. +# Then, the temporary `github.com/` directory is cleaned up. cp -r ./github.com/rollchains/gordian/gcosmos/* . rm -rf ./github.com From a03db43c075d2e5d10e0c43478186be2556433ce Mon Sep 17 00:00:00 2001 From: Reece Williams Date: Wed, 21 Aug 2024 17:58:58 -0500 Subject: [PATCH 2/9] refactor: remove config, be verbose with arguments --- gcosmos/gserver/component.go | 18 +--- gcosmos/gserver/internal/ggrpc/server.go | 85 ++++++++++++------- .../gserver/internal/ggrpc/server_debug.go | 16 ++-- 3 files changed, 64 insertions(+), 55 deletions(-) diff --git a/gcosmos/gserver/component.go b/gcosmos/gserver/component.go index 5c005ff..6cf5941 100644 --- a/gcosmos/gserver/component.go +++ b/gcosmos/gserver/component.go @@ -254,20 +254,10 @@ func (c *Component) Start(ctx context.Context) error { if c.grpcLn != nil { // TODO; share this with the http server as a wrapper. // https://github.com/rollchains/gordian/pull/14 - c.grpcServer = ggrpc.NewGordianGRPCServer(ctx, c.log.With("sys", "grpc"), ggrpc.GRPCServerConfig{ - Listener: c.grpcLn, - - FinalizationStore: c.fs, - MirrorStore: c.ms, - - CryptoRegistry: reg, - - // debug: - TxCodec: c.txc, - AppManager: am, - TxBuf: txBuf, - Codec: c.codec, - }) + c.grpcServer = ggrpc.NewGordianGRPCServer( + ctx, c.log.With("sys", "grpc"), + c.grpcLn, c.fs, c.ms, reg, c.txc, am, txBuf, c.codec, + ) } if c.httpLn != nil { diff --git a/gcosmos/gserver/internal/ggrpc/server.go b/gcosmos/gserver/internal/ggrpc/server.go index 5c845b9..7b5214c 100644 --- a/gcosmos/gserver/internal/ggrpc/server.go +++ b/gcosmos/gserver/internal/ggrpc/server.go @@ -22,36 +22,52 @@ type GordianGRPC struct { UnimplementedGordianGRPCServer log *slog.Logger - grpcServer *grpc.Server + fs tmstore.FinalizationStore + ms tmstore.MirrorStore - cfg GRPCServerConfig + reg *gcrypto.Registry + + // debug handler + txc transaction.Codec[transaction.Tx] + am appmanager.AppManager[transaction.Tx] + txBuf *gsi.SDKTxBuf + cdc codec.Codec done chan struct{} } -type GRPCServerConfig struct { - Listener net.Listener +func NewGordianGRPCServer(ctx context.Context, log *slog.Logger, + ln net.Listener, - FinalizationStore tmstore.FinalizationStore - MirrorStore tmstore.MirrorStore + fs tmstore.FinalizationStore, + ms tmstore.MirrorStore, + reg *gcrypto.Registry, - CryptoRegistry *gcrypto.Registry + txc transaction.Codec[transaction.Tx], + am appmanager.AppManager[transaction.Tx], + txb *gsi.SDKTxBuf, + cdc codec.Codec, +) *GordianGRPC { + srv := &GordianGRPC{ + log: log, - // debug handler - TxCodec transaction.Codec[transaction.Tx] - AppManager appmanager.AppManager[transaction.Tx] - TxBuf *gsi.SDKTxBuf - Codec codec.Codec -} + fs: fs, + ms: ms, + reg: reg, + txc: txc, + am: am, + txBuf: txb, + cdc: cdc, -func NewGordianGRPCServer(ctx context.Context, log *slog.Logger, cfg GRPCServerConfig) *GordianGRPC { - srv := &GordianGRPC{ - log: log, - cfg: cfg, done: make(chan struct{}), } - go srv.serve() - go srv.waitForShutdown(ctx) + + var opts []grpc.ServerOption + // TODO: configure grpc options (like TLS) + gc := grpc.NewServer(opts...) + + go srv.serve(ln, gc) + go srv.waitForShutdown(ctx, gc) return srv } @@ -60,34 +76,37 @@ func (g *GordianGRPC) Wait() { <-g.done } -func (g *GordianGRPC) waitForShutdown(ctx context.Context) { +func (g *GordianGRPC) waitForShutdown(ctx context.Context, gs *grpc.Server) { select { case <-g.done: // g.serve returned on its own, nothing left to do here. return case <-ctx.Done(): - if g.grpcServer != nil { - g.grpcServer.Stop() + if gs != nil { + gs.Stop() } } } -func (g *GordianGRPC) serve() { +func (g *GordianGRPC) serve(ln net.Listener, gs *grpc.Server) { + if gs == nil { + panic("BUG: grpc server is nil") + } defer close(g.done) - var opts []grpc.ServerOption - g.grpcServer = grpc.NewServer(opts...) - RegisterGordianGRPCServer(g.grpcServer, g) - reflection.Register(g.grpcServer) + RegisterGordianGRPCServer(gs, g) + reflection.Register(gs) - if err := g.grpcServer.Serve(g.cfg.Listener); err != nil { - g.log.Error("GRPC server shutting down due to error", "err", err) + if err := gs.Serve(ln); err != nil { + if err != grpc.ErrServerStopped { + g.log.Error("GRPC server stopped with error", "err", err) + } } } // GetBlocksWatermark implements GordianGRPCServer. func (g *GordianGRPC) GetBlocksWatermark(ctx context.Context, req *CurrentBlockRequest) (*CurrentBlockResponse, error) { - ms := g.cfg.MirrorStore + ms := g.ms vh, vr, ch, cr, err := ms.NetworkHeightRound(ctx) if err != nil { return nil, fmt.Errorf("failed to get network height and round: %w", err) @@ -103,9 +122,9 @@ func (g *GordianGRPC) GetBlocksWatermark(ctx context.Context, req *CurrentBlockR // GetValidators implements GordianGRPCServer. func (g *GordianGRPC) GetValidators(ctx context.Context, req *GetValidatorsRequest) (*GetValidatorsResponse, error) { - ms := g.cfg.MirrorStore - fs := g.cfg.FinalizationStore - reg := g.cfg.CryptoRegistry + ms := g.ms + fs := g.fs + reg := g.reg _, _, committingHeight, _, err := ms.NetworkHeightRound(ctx) if err != nil { return nil, fmt.Errorf("failed to get network height and round: %w", err) diff --git a/gcosmos/gserver/internal/ggrpc/server_debug.go b/gcosmos/gserver/internal/ggrpc/server_debug.go index f03a8eb..d00fa07 100644 --- a/gcosmos/gserver/internal/ggrpc/server_debug.go +++ b/gcosmos/gserver/internal/ggrpc/server_debug.go @@ -13,14 +13,14 @@ import ( // SubmitTransaction implements GordianGRPCServer. func (g *GordianGRPC) SubmitTransaction(ctx context.Context, req *SubmitTransactionRequest) (*TxResultResponse, error) { b := req.Tx - tx, err := g.cfg.TxCodec.DecodeJSON(b) + tx, err := g.txc.DecodeJSON(b) if err != nil { return &TxResultResponse{ Error: fmt.Sprintf("failed to decode transaction json: %v", err), }, nil } - res, err := g.cfg.AppManager.ValidateTx(ctx, tx) + res, err := g.am.ValidateTx(ctx, tx) if err != nil { // ValidateTx should only return an error at this level, // if it failed to get state from the store. @@ -36,7 +36,7 @@ func (g *GordianGRPC) SubmitTransaction(ctx context.Context, req *SubmitTransact } // If it passed basic validation, then we can attempt to add it to the buffer. - if err := g.cfg.TxBuf.AddTx(ctx, tx); err != nil { + if err := g.txBuf.AddTx(ctx, tx); err != nil { // We could potentially check if it is a TxInvalidError here // and adjust the status code, // but since this is a debug endpoint, we'll ignore the type. @@ -49,14 +49,14 @@ func (g *GordianGRPC) SubmitTransaction(ctx context.Context, req *SubmitTransact // SimulateTransaction implements GordianGRPCServer. func (g *GordianGRPC) SimulateTransaction(ctx context.Context, req *SubmitSimulationTransactionRequest) (*TxResultResponse, error) { b := req.Tx - tx, err := g.cfg.TxCodec.DecodeJSON(b) + tx, err := g.txc.DecodeJSON(b) if err != nil { return &TxResultResponse{ Error: fmt.Sprintf("failed to decode transaction json: %v", err), }, nil } - res, _, err := g.cfg.AppManager.Simulate(ctx, tx) + res, _, err := g.am.Simulate(ctx, tx) if err != nil { // Simulate should only return an error at this level, // if it failed to get state from the store. @@ -76,7 +76,7 @@ func (g *GordianGRPC) SimulateTransaction(ctx context.Context, req *SubmitSimula // PendingTransactions implements GordianGRPCServer. func (g *GordianGRPC) PendingTransactions(ctx context.Context, req *PendingTransactionsRequest) (*PendingTransactionsResponse, error) { - txs := g.cfg.TxBuf.Buffered(ctx, nil) + txs := g.txBuf.Buffered(ctx, nil) encodedTxs := make([][]byte, len(txs)) for i, tx := range txs { @@ -94,8 +94,8 @@ func (g *GordianGRPC) PendingTransactions(ctx context.Context, req *PendingTrans // QueryAccountBalance implements GordianGRPCServer. func (g *GordianGRPC) QueryAccountBalance(ctx context.Context, req *QueryAccountBalanceRequest) (*QueryAccountBalanceResponse, error) { - cdc := g.cfg.Codec - am := g.cfg.AppManager + cdc := g.cdc + am := g.am if req.Address == "" { return nil, fmt.Errorf("address field is required") From f969accb9f7ea4771a9119df22464cec1e0f755d Mon Sep 17 00:00:00 2001 From: Reece Williams Date: Wed, 21 Aug 2024 18:01:05 -0500 Subject: [PATCH 3/9] refactor(proto): namespace to`gordian.server.v1` --- gcosmos/README.md | 10 +- gcosmos/gserver/internal/ggrpc/grpc.pb.go | 470 +++++++++--------- .../gserver/internal/ggrpc/grpc_grpc.pb.go | 18 +- .../{server => gordian/server/v1}/grpc.proto | 2 +- gcosmos/scripts/protocgen.sh | 4 +- 5 files changed, 258 insertions(+), 246 deletions(-) rename gcosmos/proto/{server => gordian/server/v1}/grpc.proto (98%) diff --git a/gcosmos/README.md b/gcosmos/README.md index f4bbc4e..2eb45a5 100644 --- a/gcosmos/README.md +++ b/gcosmos/README.md @@ -64,10 +64,10 @@ echo -n "abandon abandon abandon abandon abandon abandon abandon abandon abandon # GOBIN="$PWD" go install github.com/fullstorydev/grpcurl/cmd/grpcurl@v1 ./grpcurl -plaintext localhost:9092 list -./grpcurl -plaintext localhost:9092 server.GordianGRPC/GetBlocksWatermark -./grpcurl -plaintext localhost:9092 server.GordianGRPC/GetValidators +./grpcurl -plaintext localhost:9092 gordian.server.v1.GordianGRPC/GetBlocksWatermark +./grpcurl -plaintext localhost:9092 gordian.server.v1.GordianGRPC/GetValidators -./grpcurl -plaintext -d '{"address":"cosmos1r5v5srda7xfth3hn2s26txvrcrntldjumt8mhl","denom":"stake"}' localhost:9092 server.GordianGRPC/QueryAccountBalance +./grpcurl -plaintext -d '{"address":"cosmos1r5v5srda7xfth3hn2s26txvrcrntldjumt8mhl","denom":"stake"}' localhost:9092 gordian.server.v1.GordianGRPC/QueryAccountBalance ``` # Transaction Testing @@ -77,7 +77,7 @@ echo -n "abandon abandon abandon abandon abandon abandon abandon abandon abandon # TODO: get account number ./gcosmos tx sign ./example-tx.json --offline --from=val --sequence=1 --account-number=1 --chain-id=TODO:TEMPORARY_CHAIN_ID --keyring-backend=test > example-tx-signed.json -./grpcurl -plaintext -emit-defaults -d '{"tx":"'$(cat example-tx-signed.json | base64 | tr -d '\n')'"}' localhost:9092 server.GordianGRPC/SimulateTransaction +./grpcurl -plaintext -emit-defaults -d '{"tx":"'$(cat example-tx-signed.json | base64 | tr -d '\n')'"}' localhost:9092 gordian.server.v1.GordianGRPC/SimulateTransaction -./grpcurl -plaintext -emit-defaults -d '{"tx":"'$(cat example-tx-signed.json | base64 | tr -d '\n')'"}' localhost:9092 server.GordianGRPC/SubmitTransaction +./grpcurl -plaintext -emit-defaults -d '{"tx":"'$(cat example-tx-signed.json | base64 | tr -d '\n')'"}' localhost:9092 gordian.server.v1.GordianGRPC/SubmitTransaction ``` diff --git a/gcosmos/gserver/internal/ggrpc/grpc.pb.go b/gcosmos/gserver/internal/ggrpc/grpc.pb.go index 6e1dba1..44d5697 100644 --- a/gcosmos/gserver/internal/ggrpc/grpc.pb.go +++ b/gcosmos/gserver/internal/ggrpc/grpc.pb.go @@ -2,7 +2,7 @@ // versions: // protoc-gen-go v1.28.0 // protoc v4.25.1 -// source: proto/server/grpc.proto +// source: proto/gordian/server/v1/grpc.proto package ggrpc @@ -29,7 +29,7 @@ type CurrentBlockRequest struct { func (x *CurrentBlockRequest) Reset() { *x = CurrentBlockRequest{} if protoimpl.UnsafeEnabled { - mi := &file_proto_server_grpc_proto_msgTypes[0] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -42,7 +42,7 @@ func (x *CurrentBlockRequest) String() string { func (*CurrentBlockRequest) ProtoMessage() {} func (x *CurrentBlockRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_server_grpc_proto_msgTypes[0] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -55,7 +55,7 @@ func (x *CurrentBlockRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CurrentBlockRequest.ProtoReflect.Descriptor instead. func (*CurrentBlockRequest) Descriptor() ([]byte, []int) { - return file_proto_server_grpc_proto_rawDescGZIP(), []int{0} + return file_proto_gordian_server_v1_grpc_proto_rawDescGZIP(), []int{0} } type CurrentBlockResponse struct { @@ -72,7 +72,7 @@ type CurrentBlockResponse struct { func (x *CurrentBlockResponse) Reset() { *x = CurrentBlockResponse{} if protoimpl.UnsafeEnabled { - mi := &file_proto_server_grpc_proto_msgTypes[1] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -85,7 +85,7 @@ func (x *CurrentBlockResponse) String() string { func (*CurrentBlockResponse) ProtoMessage() {} func (x *CurrentBlockResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_server_grpc_proto_msgTypes[1] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -98,7 +98,7 @@ func (x *CurrentBlockResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CurrentBlockResponse.ProtoReflect.Descriptor instead. func (*CurrentBlockResponse) Descriptor() ([]byte, []int) { - return file_proto_server_grpc_proto_rawDescGZIP(), []int{1} + return file_proto_gordian_server_v1_grpc_proto_rawDescGZIP(), []int{1} } func (x *CurrentBlockResponse) GetVotingHeight() uint64 { @@ -141,7 +141,7 @@ type Validator struct { func (x *Validator) Reset() { *x = Validator{} if protoimpl.UnsafeEnabled { - mi := &file_proto_server_grpc_proto_msgTypes[2] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -154,7 +154,7 @@ func (x *Validator) String() string { func (*Validator) ProtoMessage() {} func (x *Validator) ProtoReflect() protoreflect.Message { - mi := &file_proto_server_grpc_proto_msgTypes[2] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -167,7 +167,7 @@ func (x *Validator) ProtoReflect() protoreflect.Message { // Deprecated: Use Validator.ProtoReflect.Descriptor instead. func (*Validator) Descriptor() ([]byte, []int) { - return file_proto_server_grpc_proto_rawDescGZIP(), []int{2} + return file_proto_gordian_server_v1_grpc_proto_rawDescGZIP(), []int{2} } func (x *Validator) GetPubKey() []byte { @@ -193,7 +193,7 @@ type GetValidatorsRequest struct { func (x *GetValidatorsRequest) Reset() { *x = GetValidatorsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_proto_server_grpc_proto_msgTypes[3] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -206,7 +206,7 @@ func (x *GetValidatorsRequest) String() string { func (*GetValidatorsRequest) ProtoMessage() {} func (x *GetValidatorsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_server_grpc_proto_msgTypes[3] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -219,7 +219,7 @@ func (x *GetValidatorsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetValidatorsRequest.ProtoReflect.Descriptor instead. func (*GetValidatorsRequest) Descriptor() ([]byte, []int) { - return file_proto_server_grpc_proto_rawDescGZIP(), []int{3} + return file_proto_gordian_server_v1_grpc_proto_rawDescGZIP(), []int{3} } type GetValidatorsResponse struct { @@ -233,7 +233,7 @@ type GetValidatorsResponse struct { func (x *GetValidatorsResponse) Reset() { *x = GetValidatorsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_proto_server_grpc_proto_msgTypes[4] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -246,7 +246,7 @@ func (x *GetValidatorsResponse) String() string { func (*GetValidatorsResponse) ProtoMessage() {} func (x *GetValidatorsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_server_grpc_proto_msgTypes[4] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -259,7 +259,7 @@ func (x *GetValidatorsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetValidatorsResponse.ProtoReflect.Descriptor instead. func (*GetValidatorsResponse) Descriptor() ([]byte, []int) { - return file_proto_server_grpc_proto_rawDescGZIP(), []int{4} + return file_proto_gordian_server_v1_grpc_proto_rawDescGZIP(), []int{4} } func (x *GetValidatorsResponse) GetValidators() []*Validator { @@ -280,7 +280,7 @@ type SubmitTransactionRequest struct { func (x *SubmitTransactionRequest) Reset() { *x = SubmitTransactionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_proto_server_grpc_proto_msgTypes[5] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -293,7 +293,7 @@ func (x *SubmitTransactionRequest) String() string { func (*SubmitTransactionRequest) ProtoMessage() {} func (x *SubmitTransactionRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_server_grpc_proto_msgTypes[5] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -306,7 +306,7 @@ func (x *SubmitTransactionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SubmitTransactionRequest.ProtoReflect.Descriptor instead. func (*SubmitTransactionRequest) Descriptor() ([]byte, []int) { - return file_proto_server_grpc_proto_rawDescGZIP(), []int{5} + return file_proto_gordian_server_v1_grpc_proto_rawDescGZIP(), []int{5} } func (x *SubmitTransactionRequest) GetTx() []byte { @@ -327,7 +327,7 @@ type SubmitSimulationTransactionRequest struct { func (x *SubmitSimulationTransactionRequest) Reset() { *x = SubmitSimulationTransactionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_proto_server_grpc_proto_msgTypes[6] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -340,7 +340,7 @@ func (x *SubmitSimulationTransactionRequest) String() string { func (*SubmitSimulationTransactionRequest) ProtoMessage() {} func (x *SubmitSimulationTransactionRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_server_grpc_proto_msgTypes[6] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -353,7 +353,7 @@ func (x *SubmitSimulationTransactionRequest) ProtoReflect() protoreflect.Message // Deprecated: Use SubmitSimulationTransactionRequest.ProtoReflect.Descriptor instead. func (*SubmitSimulationTransactionRequest) Descriptor() ([]byte, []int) { - return file_proto_server_grpc_proto_rawDescGZIP(), []int{6} + return file_proto_gordian_server_v1_grpc_proto_rawDescGZIP(), []int{6} } func (x *SubmitSimulationTransactionRequest) GetTx() []byte { @@ -372,7 +372,7 @@ type PendingTransactionsRequest struct { func (x *PendingTransactionsRequest) Reset() { *x = PendingTransactionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_proto_server_grpc_proto_msgTypes[7] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -385,7 +385,7 @@ func (x *PendingTransactionsRequest) String() string { func (*PendingTransactionsRequest) ProtoMessage() {} func (x *PendingTransactionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_server_grpc_proto_msgTypes[7] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -398,7 +398,7 @@ func (x *PendingTransactionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PendingTransactionsRequest.ProtoReflect.Descriptor instead. func (*PendingTransactionsRequest) Descriptor() ([]byte, []int) { - return file_proto_server_grpc_proto_rawDescGZIP(), []int{7} + return file_proto_gordian_server_v1_grpc_proto_rawDescGZIP(), []int{7} } type PendingTransactionsResponse struct { @@ -413,7 +413,7 @@ type PendingTransactionsResponse struct { func (x *PendingTransactionsResponse) Reset() { *x = PendingTransactionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_proto_server_grpc_proto_msgTypes[8] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -426,7 +426,7 @@ func (x *PendingTransactionsResponse) String() string { func (*PendingTransactionsResponse) ProtoMessage() {} func (x *PendingTransactionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_server_grpc_proto_msgTypes[8] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -439,7 +439,7 @@ func (x *PendingTransactionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PendingTransactionsResponse.ProtoReflect.Descriptor instead. func (*PendingTransactionsResponse) Descriptor() ([]byte, []int) { - return file_proto_server_grpc_proto_rawDescGZIP(), []int{8} + return file_proto_gordian_server_v1_grpc_proto_rawDescGZIP(), []int{8} } func (x *PendingTransactionsResponse) GetTxs() [][]byte { @@ -463,7 +463,7 @@ type Attribute struct { func (x *Attribute) Reset() { *x = Attribute{} if protoimpl.UnsafeEnabled { - mi := &file_proto_server_grpc_proto_msgTypes[9] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -476,7 +476,7 @@ func (x *Attribute) String() string { func (*Attribute) ProtoMessage() {} func (x *Attribute) ProtoReflect() protoreflect.Message { - mi := &file_proto_server_grpc_proto_msgTypes[9] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -489,7 +489,7 @@ func (x *Attribute) ProtoReflect() protoreflect.Message { // Deprecated: Use Attribute.ProtoReflect.Descriptor instead. func (*Attribute) Descriptor() ([]byte, []int) { - return file_proto_server_grpc_proto_rawDescGZIP(), []int{9} + return file_proto_gordian_server_v1_grpc_proto_rawDescGZIP(), []int{9} } func (x *Attribute) GetKey() string { @@ -518,7 +518,7 @@ type Event struct { func (x *Event) Reset() { *x = Event{} if protoimpl.UnsafeEnabled { - mi := &file_proto_server_grpc_proto_msgTypes[10] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -531,7 +531,7 @@ func (x *Event) String() string { func (*Event) ProtoMessage() {} func (x *Event) ProtoReflect() protoreflect.Message { - mi := &file_proto_server_grpc_proto_msgTypes[10] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -544,7 +544,7 @@ func (x *Event) ProtoReflect() protoreflect.Message { // Deprecated: Use Event.ProtoReflect.Descriptor instead. func (*Event) Descriptor() ([]byte, []int) { - return file_proto_server_grpc_proto_rawDescGZIP(), []int{10} + return file_proto_gordian_server_v1_grpc_proto_rawDescGZIP(), []int{10} } func (x *Event) GetType() string { @@ -582,7 +582,7 @@ type TxResultResponse struct { func (x *TxResultResponse) Reset() { *x = TxResultResponse{} if protoimpl.UnsafeEnabled { - mi := &file_proto_server_grpc_proto_msgTypes[11] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -595,7 +595,7 @@ func (x *TxResultResponse) String() string { func (*TxResultResponse) ProtoMessage() {} func (x *TxResultResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_server_grpc_proto_msgTypes[11] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -608,7 +608,7 @@ func (x *TxResultResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TxResultResponse.ProtoReflect.Descriptor instead. func (*TxResultResponse) Descriptor() ([]byte, []int) { - return file_proto_server_grpc_proto_rawDescGZIP(), []int{11} + return file_proto_gordian_server_v1_grpc_proto_rawDescGZIP(), []int{11} } func (x *TxResultResponse) GetEvents() []*Event { @@ -686,7 +686,7 @@ type BalanceResponse struct { func (x *BalanceResponse) Reset() { *x = BalanceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_proto_server_grpc_proto_msgTypes[12] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -699,7 +699,7 @@ func (x *BalanceResponse) String() string { func (*BalanceResponse) ProtoMessage() {} func (x *BalanceResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_server_grpc_proto_msgTypes[12] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -712,7 +712,7 @@ func (x *BalanceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BalanceResponse.ProtoReflect.Descriptor instead. func (*BalanceResponse) Descriptor() ([]byte, []int) { - return file_proto_server_grpc_proto_rawDescGZIP(), []int{12} + return file_proto_gordian_server_v1_grpc_proto_rawDescGZIP(), []int{12} } func (x *BalanceResponse) GetDenom() string { @@ -741,7 +741,7 @@ type QueryAccountBalanceRequest struct { func (x *QueryAccountBalanceRequest) Reset() { *x = QueryAccountBalanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_proto_server_grpc_proto_msgTypes[13] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -754,7 +754,7 @@ func (x *QueryAccountBalanceRequest) String() string { func (*QueryAccountBalanceRequest) ProtoMessage() {} func (x *QueryAccountBalanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_server_grpc_proto_msgTypes[13] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -767,7 +767,7 @@ func (x *QueryAccountBalanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryAccountBalanceRequest.ProtoReflect.Descriptor instead. func (*QueryAccountBalanceRequest) Descriptor() ([]byte, []int) { - return file_proto_server_grpc_proto_rawDescGZIP(), []int{13} + return file_proto_gordian_server_v1_grpc_proto_rawDescGZIP(), []int{13} } func (x *QueryAccountBalanceRequest) GetAddress() string { @@ -795,7 +795,7 @@ type QueryAccountBalanceResponse struct { func (x *QueryAccountBalanceResponse) Reset() { *x = QueryAccountBalanceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_proto_server_grpc_proto_msgTypes[14] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -808,7 +808,7 @@ func (x *QueryAccountBalanceResponse) String() string { func (*QueryAccountBalanceResponse) ProtoMessage() {} func (x *QueryAccountBalanceResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_server_grpc_proto_msgTypes[14] + mi := &file_proto_gordian_server_v1_grpc_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -821,7 +821,7 @@ func (x *QueryAccountBalanceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryAccountBalanceResponse.ProtoReflect.Descriptor instead. func (*QueryAccountBalanceResponse) Descriptor() ([]byte, []int) { - return file_proto_server_grpc_proto_rawDescGZIP(), []int{14} + return file_proto_gordian_server_v1_grpc_proto_rawDescGZIP(), []int{14} } func (x *QueryAccountBalanceResponse) GetBalance() *BalanceResponse { @@ -831,172 +831,184 @@ func (x *QueryAccountBalanceResponse) GetBalance() *BalanceResponse { return nil } -var File_proto_server_grpc_proto protoreflect.FileDescriptor - -var file_proto_server_grpc_proto_rawDesc = []byte{ - 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x22, 0x15, 0x0a, 0x13, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb6, 0x01, 0x0a, 0x14, 0x43, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, - 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, - 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x76, 0x6f, - 0x74, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x6e, - 0x64, 0x22, 0x3a, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x17, - 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x22, 0x16, 0x0a, - 0x14, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, - 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x22, 0x2a, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, - 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, 0x22, 0x34, 0x0a, - 0x22, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x02, 0x74, 0x78, 0x22, 0x1c, 0x0a, 0x1a, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0x2f, 0x0a, 0x1b, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x03, 0x74, - 0x78, 0x73, 0x22, 0x33, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x4e, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x31, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0xf7, 0x01, 0x0a, 0x10, 0x54, 0x78, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x06, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x61, 0x73, 0x5f, 0x77, - 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x67, 0x61, 0x73, - 0x5f, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, - 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, - 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x22, 0x3f, 0x0a, 0x0f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x22, 0x4c, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, - 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, - 0x22, 0x50, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x31, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x32, 0xa6, 0x04, 0x0a, 0x0b, 0x47, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x47, 0x52, - 0x50, 0x43, 0x12, 0x51, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x57, - 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, - 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x47, 0x65, - 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x54, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x13, 0x53, 0x69, 0x6d, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, - 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x2e, 0x54, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x13, 0x50, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, +var File_proto_gordian_server_v1_grpc_proto protoreflect.FileDescriptor + +var file_proto_gordian_server_v1_grpc_proto_rawDesc = []byte{ + 0x0a, 0x22, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2f, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x22, 0x15, 0x0a, 0x13, 0x43, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb6, + 0x01, 0x0a, 0x14, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x6f, 0x74, 0x69, 0x6e, + 0x67, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, + 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x21, 0x0a, 0x0c, + 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, + 0x2b, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x29, 0x0a, 0x10, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x3a, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x6f, + 0x77, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x15, 0x47, + 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, + 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x73, 0x22, 0x2a, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, 0x22, 0x34, + 0x0a, 0x22, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x02, 0x74, 0x78, 0x22, 0x1c, 0x0a, 0x1a, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 0x65, 0x6e, 0x64, + 0x73, 0x74, 0x22, 0x2f, 0x0a, 0x1b, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x03, + 0x74, 0x78, 0x73, 0x22, 0x33, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x59, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x22, 0x82, 0x02, 0x0a, 0x10, 0x54, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, + 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x67, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1e, + 0x0a, 0x0a, 0x67, 0x61, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0a, 0x67, 0x61, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, + 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, + 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x3f, 0x0a, 0x0f, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, + 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, + 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4c, 0x0a, 0x1a, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x5b, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x32, 0xaa, 0x05, 0x0a, 0x0b, 0x47, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, + 0x47, 0x52, 0x50, 0x43, 0x12, 0x67, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x73, 0x57, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x72, + 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, + 0x0d, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x27, + 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, + 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, + 0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x13, + 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x69, + 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x72, + 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, + 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x76, 0x0a, 0x13, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, + 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x13, 0x51, 0x75, 0x65, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x12, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x3e, 0x5a, 0x3c, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x6f, 0x6c, 0x6c, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x73, 0x2f, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2f, 0x67, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x67, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2e, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x42, 0x3e, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x72, 0x6f, 0x6c, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x2f, 0x67, 0x6f, 0x72, 0x64, 0x69, + 0x61, 0x6e, 0x2f, 0x67, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x67, 0x72, 0x70, + 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_proto_server_grpc_proto_rawDescOnce sync.Once - file_proto_server_grpc_proto_rawDescData = file_proto_server_grpc_proto_rawDesc + file_proto_gordian_server_v1_grpc_proto_rawDescOnce sync.Once + file_proto_gordian_server_v1_grpc_proto_rawDescData = file_proto_gordian_server_v1_grpc_proto_rawDesc ) -func file_proto_server_grpc_proto_rawDescGZIP() []byte { - file_proto_server_grpc_proto_rawDescOnce.Do(func() { - file_proto_server_grpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_server_grpc_proto_rawDescData) +func file_proto_gordian_server_v1_grpc_proto_rawDescGZIP() []byte { + file_proto_gordian_server_v1_grpc_proto_rawDescOnce.Do(func() { + file_proto_gordian_server_v1_grpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_gordian_server_v1_grpc_proto_rawDescData) }) - return file_proto_server_grpc_proto_rawDescData -} - -var file_proto_server_grpc_proto_msgTypes = make([]protoimpl.MessageInfo, 15) -var file_proto_server_grpc_proto_goTypes = []interface{}{ - (*CurrentBlockRequest)(nil), // 0: server.CurrentBlockRequest - (*CurrentBlockResponse)(nil), // 1: server.CurrentBlockResponse - (*Validator)(nil), // 2: server.Validator - (*GetValidatorsRequest)(nil), // 3: server.GetValidatorsRequest - (*GetValidatorsResponse)(nil), // 4: server.GetValidatorsResponse - (*SubmitTransactionRequest)(nil), // 5: server.SubmitTransactionRequest - (*SubmitSimulationTransactionRequest)(nil), // 6: server.SubmitSimulationTransactionRequest - (*PendingTransactionsRequest)(nil), // 7: server.PendingTransactionsRequest - (*PendingTransactionsResponse)(nil), // 8: server.PendingTransactionsResponse - (*Attribute)(nil), // 9: server.Attribute - (*Event)(nil), // 10: server.Event - (*TxResultResponse)(nil), // 11: server.TxResultResponse - (*BalanceResponse)(nil), // 12: server.BalanceResponse - (*QueryAccountBalanceRequest)(nil), // 13: server.QueryAccountBalanceRequest - (*QueryAccountBalanceResponse)(nil), // 14: server.QueryAccountBalanceResponse -} -var file_proto_server_grpc_proto_depIdxs = []int32{ - 2, // 0: server.GetValidatorsResponse.validators:type_name -> server.Validator - 9, // 1: server.Event.attributes:type_name -> server.Attribute - 10, // 2: server.TxResultResponse.events:type_name -> server.Event - 12, // 3: server.QueryAccountBalanceResponse.balance:type_name -> server.BalanceResponse - 0, // 4: server.GordianGRPC.GetBlocksWatermark:input_type -> server.CurrentBlockRequest - 3, // 5: server.GordianGRPC.GetValidators:input_type -> server.GetValidatorsRequest - 5, // 6: server.GordianGRPC.SubmitTransaction:input_type -> server.SubmitTransactionRequest - 6, // 7: server.GordianGRPC.SimulateTransaction:input_type -> server.SubmitSimulationTransactionRequest - 7, // 8: server.GordianGRPC.PendingTransactions:input_type -> server.PendingTransactionsRequest - 13, // 9: server.GordianGRPC.QueryAccountBalance:input_type -> server.QueryAccountBalanceRequest - 1, // 10: server.GordianGRPC.GetBlocksWatermark:output_type -> server.CurrentBlockResponse - 4, // 11: server.GordianGRPC.GetValidators:output_type -> server.GetValidatorsResponse - 11, // 12: server.GordianGRPC.SubmitTransaction:output_type -> server.TxResultResponse - 11, // 13: server.GordianGRPC.SimulateTransaction:output_type -> server.TxResultResponse - 8, // 14: server.GordianGRPC.PendingTransactions:output_type -> server.PendingTransactionsResponse - 14, // 15: server.GordianGRPC.QueryAccountBalance:output_type -> server.QueryAccountBalanceResponse + return file_proto_gordian_server_v1_grpc_proto_rawDescData +} + +var file_proto_gordian_server_v1_grpc_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_proto_gordian_server_v1_grpc_proto_goTypes = []interface{}{ + (*CurrentBlockRequest)(nil), // 0: gordian.server.v1.CurrentBlockRequest + (*CurrentBlockResponse)(nil), // 1: gordian.server.v1.CurrentBlockResponse + (*Validator)(nil), // 2: gordian.server.v1.Validator + (*GetValidatorsRequest)(nil), // 3: gordian.server.v1.GetValidatorsRequest + (*GetValidatorsResponse)(nil), // 4: gordian.server.v1.GetValidatorsResponse + (*SubmitTransactionRequest)(nil), // 5: gordian.server.v1.SubmitTransactionRequest + (*SubmitSimulationTransactionRequest)(nil), // 6: gordian.server.v1.SubmitSimulationTransactionRequest + (*PendingTransactionsRequest)(nil), // 7: gordian.server.v1.PendingTransactionsRequest + (*PendingTransactionsResponse)(nil), // 8: gordian.server.v1.PendingTransactionsResponse + (*Attribute)(nil), // 9: gordian.server.v1.Attribute + (*Event)(nil), // 10: gordian.server.v1.Event + (*TxResultResponse)(nil), // 11: gordian.server.v1.TxResultResponse + (*BalanceResponse)(nil), // 12: gordian.server.v1.BalanceResponse + (*QueryAccountBalanceRequest)(nil), // 13: gordian.server.v1.QueryAccountBalanceRequest + (*QueryAccountBalanceResponse)(nil), // 14: gordian.server.v1.QueryAccountBalanceResponse +} +var file_proto_gordian_server_v1_grpc_proto_depIdxs = []int32{ + 2, // 0: gordian.server.v1.GetValidatorsResponse.validators:type_name -> gordian.server.v1.Validator + 9, // 1: gordian.server.v1.Event.attributes:type_name -> gordian.server.v1.Attribute + 10, // 2: gordian.server.v1.TxResultResponse.events:type_name -> gordian.server.v1.Event + 12, // 3: gordian.server.v1.QueryAccountBalanceResponse.balance:type_name -> gordian.server.v1.BalanceResponse + 0, // 4: gordian.server.v1.GordianGRPC.GetBlocksWatermark:input_type -> gordian.server.v1.CurrentBlockRequest + 3, // 5: gordian.server.v1.GordianGRPC.GetValidators:input_type -> gordian.server.v1.GetValidatorsRequest + 5, // 6: gordian.server.v1.GordianGRPC.SubmitTransaction:input_type -> gordian.server.v1.SubmitTransactionRequest + 6, // 7: gordian.server.v1.GordianGRPC.SimulateTransaction:input_type -> gordian.server.v1.SubmitSimulationTransactionRequest + 7, // 8: gordian.server.v1.GordianGRPC.PendingTransactions:input_type -> gordian.server.v1.PendingTransactionsRequest + 13, // 9: gordian.server.v1.GordianGRPC.QueryAccountBalance:input_type -> gordian.server.v1.QueryAccountBalanceRequest + 1, // 10: gordian.server.v1.GordianGRPC.GetBlocksWatermark:output_type -> gordian.server.v1.CurrentBlockResponse + 4, // 11: gordian.server.v1.GordianGRPC.GetValidators:output_type -> gordian.server.v1.GetValidatorsResponse + 11, // 12: gordian.server.v1.GordianGRPC.SubmitTransaction:output_type -> gordian.server.v1.TxResultResponse + 11, // 13: gordian.server.v1.GordianGRPC.SimulateTransaction:output_type -> gordian.server.v1.TxResultResponse + 8, // 14: gordian.server.v1.GordianGRPC.PendingTransactions:output_type -> gordian.server.v1.PendingTransactionsResponse + 14, // 15: gordian.server.v1.GordianGRPC.QueryAccountBalance:output_type -> gordian.server.v1.QueryAccountBalanceResponse 10, // [10:16] is the sub-list for method output_type 4, // [4:10] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name @@ -1004,13 +1016,13 @@ var file_proto_server_grpc_proto_depIdxs = []int32{ 0, // [0:4] is the sub-list for field type_name } -func init() { file_proto_server_grpc_proto_init() } -func file_proto_server_grpc_proto_init() { - if File_proto_server_grpc_proto != nil { +func init() { file_proto_gordian_server_v1_grpc_proto_init() } +func file_proto_gordian_server_v1_grpc_proto_init() { + if File_proto_gordian_server_v1_grpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_proto_server_grpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_proto_gordian_server_v1_grpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CurrentBlockRequest); i { case 0: return &v.state @@ -1022,7 +1034,7 @@ func file_proto_server_grpc_proto_init() { return nil } } - file_proto_server_grpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_proto_gordian_server_v1_grpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CurrentBlockResponse); i { case 0: return &v.state @@ -1034,7 +1046,7 @@ func file_proto_server_grpc_proto_init() { return nil } } - file_proto_server_grpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_proto_gordian_server_v1_grpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Validator); i { case 0: return &v.state @@ -1046,7 +1058,7 @@ func file_proto_server_grpc_proto_init() { return nil } } - file_proto_server_grpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_proto_gordian_server_v1_grpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetValidatorsRequest); i { case 0: return &v.state @@ -1058,7 +1070,7 @@ func file_proto_server_grpc_proto_init() { return nil } } - file_proto_server_grpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_proto_gordian_server_v1_grpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetValidatorsResponse); i { case 0: return &v.state @@ -1070,7 +1082,7 @@ func file_proto_server_grpc_proto_init() { return nil } } - file_proto_server_grpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_proto_gordian_server_v1_grpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubmitTransactionRequest); i { case 0: return &v.state @@ -1082,7 +1094,7 @@ func file_proto_server_grpc_proto_init() { return nil } } - file_proto_server_grpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_proto_gordian_server_v1_grpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubmitSimulationTransactionRequest); i { case 0: return &v.state @@ -1094,7 +1106,7 @@ func file_proto_server_grpc_proto_init() { return nil } } - file_proto_server_grpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_proto_gordian_server_v1_grpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PendingTransactionsRequest); i { case 0: return &v.state @@ -1106,7 +1118,7 @@ func file_proto_server_grpc_proto_init() { return nil } } - file_proto_server_grpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_proto_gordian_server_v1_grpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PendingTransactionsResponse); i { case 0: return &v.state @@ -1118,7 +1130,7 @@ func file_proto_server_grpc_proto_init() { return nil } } - file_proto_server_grpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_proto_gordian_server_v1_grpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Attribute); i { case 0: return &v.state @@ -1130,7 +1142,7 @@ func file_proto_server_grpc_proto_init() { return nil } } - file_proto_server_grpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_proto_gordian_server_v1_grpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Event); i { case 0: return &v.state @@ -1142,7 +1154,7 @@ func file_proto_server_grpc_proto_init() { return nil } } - file_proto_server_grpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_proto_gordian_server_v1_grpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TxResultResponse); i { case 0: return &v.state @@ -1154,7 +1166,7 @@ func file_proto_server_grpc_proto_init() { return nil } } - file_proto_server_grpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_proto_gordian_server_v1_grpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BalanceResponse); i { case 0: return &v.state @@ -1166,7 +1178,7 @@ func file_proto_server_grpc_proto_init() { return nil } } - file_proto_server_grpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_proto_gordian_server_v1_grpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryAccountBalanceRequest); i { case 0: return &v.state @@ -1178,7 +1190,7 @@ func file_proto_server_grpc_proto_init() { return nil } } - file_proto_server_grpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_proto_gordian_server_v1_grpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryAccountBalanceResponse); i { case 0: return &v.state @@ -1195,18 +1207,18 @@ func file_proto_server_grpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_proto_server_grpc_proto_rawDesc, + RawDescriptor: file_proto_gordian_server_v1_grpc_proto_rawDesc, NumEnums: 0, NumMessages: 15, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_proto_server_grpc_proto_goTypes, - DependencyIndexes: file_proto_server_grpc_proto_depIdxs, - MessageInfos: file_proto_server_grpc_proto_msgTypes, + GoTypes: file_proto_gordian_server_v1_grpc_proto_goTypes, + DependencyIndexes: file_proto_gordian_server_v1_grpc_proto_depIdxs, + MessageInfos: file_proto_gordian_server_v1_grpc_proto_msgTypes, }.Build() - File_proto_server_grpc_proto = out.File - file_proto_server_grpc_proto_rawDesc = nil - file_proto_server_grpc_proto_goTypes = nil - file_proto_server_grpc_proto_depIdxs = nil + File_proto_gordian_server_v1_grpc_proto = out.File + file_proto_gordian_server_v1_grpc_proto_rawDesc = nil + file_proto_gordian_server_v1_grpc_proto_goTypes = nil + file_proto_gordian_server_v1_grpc_proto_depIdxs = nil } diff --git a/gcosmos/gserver/internal/ggrpc/grpc_grpc.pb.go b/gcosmos/gserver/internal/ggrpc/grpc_grpc.pb.go index 83d5802..0fd3de0 100644 --- a/gcosmos/gserver/internal/ggrpc/grpc_grpc.pb.go +++ b/gcosmos/gserver/internal/ggrpc/grpc_grpc.pb.go @@ -2,7 +2,7 @@ // versions: // - protoc-gen-go-grpc v1.3.0 // - protoc v4.25.1 -// source: proto/server/grpc.proto +// source: proto/gordian/server/v1/grpc.proto package ggrpc @@ -19,12 +19,12 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - GordianGRPC_GetBlocksWatermark_FullMethodName = "/server.GordianGRPC/GetBlocksWatermark" - GordianGRPC_GetValidators_FullMethodName = "/server.GordianGRPC/GetValidators" - GordianGRPC_SubmitTransaction_FullMethodName = "/server.GordianGRPC/SubmitTransaction" - GordianGRPC_SimulateTransaction_FullMethodName = "/server.GordianGRPC/SimulateTransaction" - GordianGRPC_PendingTransactions_FullMethodName = "/server.GordianGRPC/PendingTransactions" - GordianGRPC_QueryAccountBalance_FullMethodName = "/server.GordianGRPC/QueryAccountBalance" + GordianGRPC_GetBlocksWatermark_FullMethodName = "/gordian.server.v1.GordianGRPC/GetBlocksWatermark" + GordianGRPC_GetValidators_FullMethodName = "/gordian.server.v1.GordianGRPC/GetValidators" + GordianGRPC_SubmitTransaction_FullMethodName = "/gordian.server.v1.GordianGRPC/SubmitTransaction" + GordianGRPC_SimulateTransaction_FullMethodName = "/gordian.server.v1.GordianGRPC/SimulateTransaction" + GordianGRPC_PendingTransactions_FullMethodName = "/gordian.server.v1.GordianGRPC/PendingTransactions" + GordianGRPC_QueryAccountBalance_FullMethodName = "/gordian.server.v1.GordianGRPC/QueryAccountBalance" ) // GordianGRPCClient is the client API for GordianGRPC service. @@ -273,7 +273,7 @@ func _GordianGRPC_QueryAccountBalance_Handler(srv interface{}, ctx context.Conte // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var GordianGRPC_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "server.GordianGRPC", + ServiceName: "gordian.server.v1.GordianGRPC", HandlerType: (*GordianGRPCServer)(nil), Methods: []grpc.MethodDesc{ { @@ -302,5 +302,5 @@ var GordianGRPC_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "proto/server/grpc.proto", + Metadata: "proto/gordian/server/v1/grpc.proto", } diff --git a/gcosmos/proto/server/grpc.proto b/gcosmos/proto/gordian/server/v1/grpc.proto similarity index 98% rename from gcosmos/proto/server/grpc.proto rename to gcosmos/proto/gordian/server/v1/grpc.proto index 5b62c1e..d1f8674 100644 --- a/gcosmos/proto/server/grpc.proto +++ b/gcosmos/proto/gordian/server/v1/grpc.proto @@ -2,7 +2,7 @@ syntax = "proto3"; option go_package = "github.com/rollchains/gordian/gcosmos/gserver/internal/ggrpc"; -package server; +package gordian.server.v1; service GordianGRPC { // GetBlocksWatermark returns the current block information. diff --git a/gcosmos/scripts/protocgen.sh b/gcosmos/scripts/protocgen.sh index 3e0e207..9930f9c 100644 --- a/gcosmos/scripts/protocgen.sh +++ b/gcosmos/scripts/protocgen.sh @@ -3,9 +3,9 @@ # # TODO: migrate to buf? -# Generates the *.go proto files from the *.proto files into a temparary `github.com/` directory. +# Generates the *.go proto files from all found *.proto files into a temparary `github.com/` directory. # This directory structure is the `option go_package` string found in the proto file header. -protoc --go_out=. --go-grpc_out=. proto/**/*.proto +protoc --go_out=. --go-grpc_out=. $(find proto -iname '*.proto') # Copies the files from the termporary `github.com/**` directory to the `gcosmos` directory. # Given the go_package path matches gordian's directory structure, only changed files are copied. From 7495d213f0562a700108a5812d3edb711c81d716 Mon Sep 17 00:00:00 2001 From: Reece Williams Date: Wed, 21 Aug 2024 18:08:56 -0500 Subject: [PATCH 4/9] rename(proto): `pub_key` -> `encoded_pub_key` --- gcosmos/gserver/internal/ggrpc/grpc.pb.go | 223 +++++++++++---------- gcosmos/gserver/internal/ggrpc/server.go | 4 +- gcosmos/proto/gordian/server/v1/grpc.proto | 2 +- 3 files changed, 115 insertions(+), 114 deletions(-) diff --git a/gcosmos/gserver/internal/ggrpc/grpc.pb.go b/gcosmos/gserver/internal/ggrpc/grpc.pb.go index 44d5697..bf595d2 100644 --- a/gcosmos/gserver/internal/ggrpc/grpc.pb.go +++ b/gcosmos/gserver/internal/ggrpc/grpc.pb.go @@ -134,8 +134,8 @@ type Validator struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PubKey []byte `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` - Power uint64 `protobuf:"varint,2,opt,name=power,proto3" json:"power,omitempty"` + EncodedPubKey []byte `protobuf:"bytes,1,opt,name=encoded_pub_key,json=encodedPubKey,proto3" json:"encoded_pub_key,omitempty"` + Power uint64 `protobuf:"varint,2,opt,name=power,proto3" json:"power,omitempty"` } func (x *Validator) Reset() { @@ -170,9 +170,9 @@ func (*Validator) Descriptor() ([]byte, []int) { return file_proto_gordian_server_v1_grpc_proto_rawDescGZIP(), []int{2} } -func (x *Validator) GetPubKey() []byte { +func (x *Validator) GetEncodedPubKey() []byte { if x != nil { - return x.PubKey + return x.EncodedPubKey } return nil } @@ -850,116 +850,117 @@ var file_proto_gordian_server_v1_grpc_proto_rawDesc = []byte{ 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x3a, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x6f, - 0x77, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x15, 0x47, - 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, - 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x73, 0x22, 0x2a, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, 0x22, 0x34, - 0x0a, 0x22, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x02, 0x74, 0x78, 0x22, 0x1c, 0x0a, 0x1a, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x2f, 0x0a, 0x1b, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x03, - 0x74, 0x78, 0x73, 0x22, 0x33, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x59, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x72, 0x64, - 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x22, 0x82, 0x02, 0x0a, 0x10, 0x54, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, - 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x67, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, - 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1e, - 0x0a, 0x0a, 0x67, 0x61, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0a, 0x67, 0x61, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x1a, - 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, - 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, - 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x3f, 0x0a, 0x0f, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, - 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4c, 0x0a, 0x1a, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x5b, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, - 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x32, 0xaa, 0x05, 0x0a, 0x0b, 0x47, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, - 0x47, 0x52, 0x50, 0x43, 0x12, 0x67, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x73, 0x57, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, - 0x0d, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x27, - 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, - 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, - 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, - 0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x13, - 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x69, - 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x76, 0x0a, 0x13, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, - 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x49, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x5f, + 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x65, + 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x6f, 0x77, + 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x73, 0x22, 0x2a, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, 0x22, 0x34, 0x0a, + 0x22, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x02, 0x74, 0x78, 0x22, 0x1c, 0x0a, 0x1a, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x2f, 0x0a, 0x1b, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x03, 0x74, + 0x78, 0x73, 0x22, 0x33, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x59, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, + 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x22, 0x82, 0x02, 0x0a, 0x10, 0x54, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, + 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x67, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, + 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, + 0x0a, 0x67, 0x61, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0a, 0x67, 0x61, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, + 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x3f, 0x0a, 0x0f, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, + 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, + 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4c, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x5b, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x32, 0xaa, 0x05, 0x0a, 0x0b, 0x47, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x47, + 0x52, 0x50, 0x43, 0x12, 0x67, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, + 0x57, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x0d, + 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x27, 0x2e, + 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x67, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6d, + 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x13, 0x53, + 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x69, 0x6d, + 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x78, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x76, 0x0a, 0x13, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x13, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2e, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, + 0x2d, 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x42, 0x3e, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x72, 0x6f, 0x6c, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x2f, 0x67, 0x6f, 0x72, 0x64, 0x69, - 0x61, 0x6e, 0x2f, 0x67, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x67, 0x72, 0x70, - 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, + 0x2e, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x42, 0x3e, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, + 0x6f, 0x6c, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x2f, 0x67, 0x6f, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x2f, 0x67, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x67, 0x72, 0x70, 0x63, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/gcosmos/gserver/internal/ggrpc/server.go b/gcosmos/gserver/internal/ggrpc/server.go index 7b5214c..58716c2 100644 --- a/gcosmos/gserver/internal/ggrpc/server.go +++ b/gcosmos/gserver/internal/ggrpc/server.go @@ -138,8 +138,8 @@ func (g *GordianGRPC) GetValidators(ctx context.Context, req *GetValidatorsReque jsonValidators := make([]*Validator, len(vals)) for i, v := range vals { jsonValidators[i] = &Validator{ - PubKey: reg.Marshal(v.PubKey), - Power: v.Power, + EncodedPubKey: reg.Marshal(v.PubKey), + Power: v.Power, } } diff --git a/gcosmos/proto/gordian/server/v1/grpc.proto b/gcosmos/proto/gordian/server/v1/grpc.proto index d1f8674..5428ef6 100644 --- a/gcosmos/proto/gordian/server/v1/grpc.proto +++ b/gcosmos/proto/gordian/server/v1/grpc.proto @@ -30,7 +30,7 @@ message CurrentBlockResponse { } message Validator { - bytes pub_key = 1; + bytes encoded_pub_key = 1; uint64 power = 2; } message GetValidatorsRequest {} From c4221f66a8222417c1c98be9b558804843d85448 Mon Sep 17 00:00:00 2001 From: Reece Williams Date: Wed, 21 Aug 2024 18:20:07 -0500 Subject: [PATCH 5/9] fix: nil listener check --- gcosmos/gserver/internal/ggrpc/server.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gcosmos/gserver/internal/ggrpc/server.go b/gcosmos/gserver/internal/ggrpc/server.go index 58716c2..6314266 100644 --- a/gcosmos/gserver/internal/ggrpc/server.go +++ b/gcosmos/gserver/internal/ggrpc/server.go @@ -48,6 +48,10 @@ func NewGordianGRPCServer(ctx context.Context, log *slog.Logger, txb *gsi.SDKTxBuf, cdc codec.Codec, ) *GordianGRPC { + if ln == nil { + panic("BUG: grpc listener is nil") + } + srv := &GordianGRPC{ log: log, From 956480146d372075e710169ba53094a4016aeeda Mon Sep 17 00:00:00 2001 From: Reece Williams Date: Wed, 21 Aug 2024 18:20:49 -0500 Subject: [PATCH 6/9] args format --- gcosmos/gserver/component.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gcosmos/gserver/component.go b/gcosmos/gserver/component.go index 6cf5941..969bc58 100644 --- a/gcosmos/gserver/component.go +++ b/gcosmos/gserver/component.go @@ -256,7 +256,14 @@ func (c *Component) Start(ctx context.Context) error { // https://github.com/rollchains/gordian/pull/14 c.grpcServer = ggrpc.NewGordianGRPCServer( ctx, c.log.With("sys", "grpc"), - c.grpcLn, c.fs, c.ms, reg, c.txc, am, txBuf, c.codec, + c.grpcLn, + c.fs, + c.ms, + reg, + c.txc, + am, + txBuf, + c.codec, ) } From f93b2b9fe8c1001592371726b807e961cc32e993 Mon Sep 17 00:00:00 2001 From: Reece Williams Date: Wed, 21 Aug 2024 18:21:51 -0500 Subject: [PATCH 7/9] comment --- gcosmos/gserver/internal/ggrpc/server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcosmos/gserver/internal/ggrpc/server.go b/gcosmos/gserver/internal/ggrpc/server.go index 6314266..babb78e 100644 --- a/gcosmos/gserver/internal/ggrpc/server.go +++ b/gcosmos/gserver/internal/ggrpc/server.go @@ -49,7 +49,7 @@ func NewGordianGRPCServer(ctx context.Context, log *slog.Logger, cdc codec.Codec, ) *GordianGRPC { if ln == nil { - panic("BUG: grpc listener is nil") + panic("BUG: listener for the grpc server is nil") } srv := &GordianGRPC{ From 0c74e88bf16d81455e5bbb6897527885ae135355 Mon Sep 17 00:00:00 2001 From: Reece Williams Date: Thu, 22 Aug 2024 18:32:53 -0500 Subject: [PATCH 8/9] refactor: call directly on types vs references --- gcosmos/gserver/internal/ggrpc/server.go | 15 ++++----------- gcosmos/gserver/internal/ggrpc/server_debug.go | 9 +++------ 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/gcosmos/gserver/internal/ggrpc/server.go b/gcosmos/gserver/internal/ggrpc/server.go index babb78e..77bd5a6 100644 --- a/gcosmos/gserver/internal/ggrpc/server.go +++ b/gcosmos/gserver/internal/ggrpc/server.go @@ -93,9 +93,6 @@ func (g *GordianGRPC) waitForShutdown(ctx context.Context, gs *grpc.Server) { } func (g *GordianGRPC) serve(ln net.Listener, gs *grpc.Server) { - if gs == nil { - panic("BUG: grpc server is nil") - } defer close(g.done) RegisterGordianGRPCServer(gs, g) @@ -110,8 +107,7 @@ func (g *GordianGRPC) serve(ln net.Listener, gs *grpc.Server) { // GetBlocksWatermark implements GordianGRPCServer. func (g *GordianGRPC) GetBlocksWatermark(ctx context.Context, req *CurrentBlockRequest) (*CurrentBlockResponse, error) { - ms := g.ms - vh, vr, ch, cr, err := ms.NetworkHeightRound(ctx) + vh, vr, ch, cr, err := g.ms.NetworkHeightRound(ctx) if err != nil { return nil, fmt.Errorf("failed to get network height and round: %w", err) } @@ -126,15 +122,12 @@ func (g *GordianGRPC) GetBlocksWatermark(ctx context.Context, req *CurrentBlockR // GetValidators implements GordianGRPCServer. func (g *GordianGRPC) GetValidators(ctx context.Context, req *GetValidatorsRequest) (*GetValidatorsResponse, error) { - ms := g.ms - fs := g.fs - reg := g.reg - _, _, committingHeight, _, err := ms.NetworkHeightRound(ctx) + _, _, committingHeight, _, err := g.ms.NetworkHeightRound(ctx) if err != nil { return nil, fmt.Errorf("failed to get network height and round: %w", err) } - _, _, vals, _, err := fs.LoadFinalizationByHeight(ctx, committingHeight) + _, _, vals, _, err := g.fs.LoadFinalizationByHeight(ctx, committingHeight) if err != nil { return nil, fmt.Errorf("failed to load finalization by height: %w", err) } @@ -142,7 +135,7 @@ func (g *GordianGRPC) GetValidators(ctx context.Context, req *GetValidatorsReque jsonValidators := make([]*Validator, len(vals)) for i, v := range vals { jsonValidators[i] = &Validator{ - EncodedPubKey: reg.Marshal(v.PubKey), + EncodedPubKey: g.reg.Marshal(v.PubKey), Power: v.Power, } } diff --git a/gcosmos/gserver/internal/ggrpc/server_debug.go b/gcosmos/gserver/internal/ggrpc/server_debug.go index d00fa07..35e1eb2 100644 --- a/gcosmos/gserver/internal/ggrpc/server_debug.go +++ b/gcosmos/gserver/internal/ggrpc/server_debug.go @@ -94,9 +94,6 @@ func (g *GordianGRPC) PendingTransactions(ctx context.Context, req *PendingTrans // QueryAccountBalance implements GordianGRPCServer. func (g *GordianGRPC) QueryAccountBalance(ctx context.Context, req *QueryAccountBalanceRequest) (*QueryAccountBalanceResponse, error) { - cdc := g.cdc - am := g.am - if req.Address == "" { return nil, fmt.Errorf("address field is required") } @@ -106,7 +103,7 @@ func (g *GordianGRPC) QueryAccountBalance(ctx context.Context, req *QueryAccount denom = req.Denom } - msg, err := am.Query(ctx, 0, &banktypes.QueryBalanceRequest{ + msg, err := g.am.Query(ctx, 0, &banktypes.QueryBalanceRequest{ Address: req.Address, Denom: denom, }) @@ -114,13 +111,13 @@ func (g *GordianGRPC) QueryAccountBalance(ctx context.Context, req *QueryAccount return nil, fmt.Errorf("failed to query account balance: %w", err) } - b, err := cdc.MarshalJSON(msg) + b, err := g.cdc.MarshalJSON(msg) if err != nil { return nil, fmt.Errorf("failed to encode response: %w", err) } var val QueryAccountBalanceResponse - if err = cdc.UnmarshalJSON(b, &val); err != nil { + if err = g.cdc.UnmarshalJSON(b, &val); err != nil { return nil, fmt.Errorf("failed to decode response: %w", err) } From b5709b650e720eeb7ad557159659957cc7be3206 Mon Sep 17 00:00:00 2001 From: Reece Williams Date: Thu, 22 Aug 2024 18:34:04 -0500 Subject: [PATCH 9/9] refactor: re-add `GRPCServerConfig` --- gcosmos/gserver/component.go | 25 ++++++------ gcosmos/gserver/internal/ggrpc/server.go | 50 +++++++++++++----------- 2 files changed, 41 insertions(+), 34 deletions(-) diff --git a/gcosmos/gserver/component.go b/gcosmos/gserver/component.go index 969bc58..357ecd0 100644 --- a/gcosmos/gserver/component.go +++ b/gcosmos/gserver/component.go @@ -254,17 +254,20 @@ func (c *Component) Start(ctx context.Context) error { if c.grpcLn != nil { // TODO; share this with the http server as a wrapper. // https://github.com/rollchains/gordian/pull/14 - c.grpcServer = ggrpc.NewGordianGRPCServer( - ctx, c.log.With("sys", "grpc"), - c.grpcLn, - c.fs, - c.ms, - reg, - c.txc, - am, - txBuf, - c.codec, - ) + c.grpcServer = ggrpc.NewGordianGRPCServer(ctx, c.log.With("sys", "grpc"), ggrpc.GRPCServerConfig{ + Listener: c.grpcLn, + + MirrorStore: c.ms, + FinalizationStore: c.fs, + + CryptoRegistry: reg, + + AppManager: am, + TxCodec: c.txc, + Codec: c.codec, + + TxBuffer: txBuf, + }) } if c.httpLn != nil { diff --git a/gcosmos/gserver/internal/ggrpc/server.go b/gcosmos/gserver/internal/ggrpc/server.go index 77bd5a6..2cf821c 100644 --- a/gcosmos/gserver/internal/ggrpc/server.go +++ b/gcosmos/gserver/internal/ggrpc/server.go @@ -36,42 +36,46 @@ type GordianGRPC struct { done chan struct{} } -func NewGordianGRPCServer(ctx context.Context, log *slog.Logger, - ln net.Listener, - - fs tmstore.FinalizationStore, - ms tmstore.MirrorStore, - reg *gcrypto.Registry, - - txc transaction.Codec[transaction.Tx], - am appmanager.AppManager[transaction.Tx], - txb *gsi.SDKTxBuf, - cdc codec.Codec, -) *GordianGRPC { - if ln == nil { +type GRPCServerConfig struct { + Listener net.Listener + + FinalizationStore tmstore.FinalizationStore + MirrorStore tmstore.MirrorStore + + CryptoRegistry *gcrypto.Registry + + TxCodec transaction.Codec[transaction.Tx] + AppManager appmanager.AppManager[transaction.Tx] + Codec codec.Codec + + TxBuffer *gsi.SDKTxBuf +} + +func NewGordianGRPCServer(ctx context.Context, log *slog.Logger, cfg GRPCServerConfig) *GordianGRPC { + if cfg.Listener == nil { panic("BUG: listener for the grpc server is nil") } srv := &GordianGRPC{ log: log, - fs: fs, - ms: ms, - reg: reg, - txc: txc, - am: am, - txBuf: txb, - cdc: cdc, + fs: cfg.FinalizationStore, + ms: cfg.MirrorStore, + reg: cfg.CryptoRegistry, + txc: cfg.TxCodec, + am: cfg.AppManager, + txBuf: cfg.TxBuffer, + cdc: cfg.Codec, done: make(chan struct{}), } var opts []grpc.ServerOption // TODO: configure grpc options (like TLS) - gc := grpc.NewServer(opts...) + gs := grpc.NewServer(opts...) - go srv.serve(ln, gc) - go srv.waitForShutdown(ctx, gc) + go srv.serve(cfg.Listener, gs) + go srv.waitForShutdown(ctx, gs) return srv }