diff --git a/.gitignore b/.gitignore index 62f28681c..ea27eda1c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ vendor .glide +types/types.pb.go diff --git a/CHANGELOG.md b/CHANGELOG.md index 6937eaeb4..8dba7032b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,15 +4,21 @@ BREAKING CHANGES: - [client] all XxxSync methods now return (ResponseXxx, error) - - [types] Application: all methods now take RequestXxx and return (ResponseXxx, error). + - [types] all methods on Application interface now take RequestXxx and return (ResponseXxx, error). - Except `CheckTx`/`DeliverTx`, which takes a `tx []byte` argument. - Except `Commit`, which takes no arguments. - - [types] removed Result + - [types] removed Result and ResultQuery + - [types] removed CodeType - only `0 == OK` is defined here, everything else is left to convention at the application level + - [types] switched to using `gogo/protobuf` for code generation + - [types] use `customtype` feature of `gogo/protobuf` to replace `[]byte` with `data.Bytes` in all generated types :) + - this eliminates the need for additional types like ResultQuery + - [abci-cli] codes are printed as their number instead of a message, except for `code == 0`, which is still printed as `OK` FEATURES: - [types] added Tags field to ResponseDeliverTx - [types] added Gas and Fee fields to ResponseCheckTx - [dummy] DeliverTx returns tags + - [abci-cli] added `log_level` flag to control the logger ## 0.7.1 (November 14, 2017) diff --git a/Makefile b/Makefile index cdee195d7..e6a7af362 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,9 @@ GOTOOLS = \ github.com/mitchellh/gox \ github.com/Masterminds/glide \ github.com/alecthomas/gometalinter \ - github.com/ckaznocha/protoc-gen-lint + github.com/ckaznocha/protoc-gen-lint \ + github.com/gogo/protobuf/protoc-gen-gogo \ + github.com/gogo/protobuf/gogoproto all: install test @@ -17,13 +19,12 @@ install_protoc: make install && \ cd .. && \ rm -rf protobuf-3.4.1 - go get github.com/golang/protobuf/protoc-gen-go protoc: ## On "error while loading shared libraries: libprotobuf.so.14: cannot open shared object file: No such file or directory" ## ldconfig (may require sudo) ## https://stackoverflow.com/a/25518702 - protoc --go_out=plugins=grpc:. types/*.proto + protoc -I=. -I=${GOPATH}/src -I=${GOPATH}/src/github.com/gogo/protobuf/protobuf --gogo_out=plugins=grpc:. types/*.proto install: @ go install ./cmd/... @@ -74,7 +75,6 @@ metalinter_test: gometalinter --vendor --deadline=600s --disable-all \ --enable=maligned \ --enable=deadcode \ - --enable=gas \ --enable=goconst \ --enable=goimports \ --enable=gosimple \ @@ -90,6 +90,7 @@ metalinter_test: --enable=vetshadow \ ./... + #--enable=gas \ #--enable=dupl \ #--enable=errcheck \ #--enable=gocyclo \ diff --git a/client/grpc_client.go b/client/grpc_client.go index f65d27e69..9328fa326 100644 --- a/client/grpc_client.go +++ b/client/grpc_client.go @@ -60,6 +60,7 @@ RETRY_LOOP: continue RETRY_LOOP } + cli.Logger.Info("Dialed server. Waiting for echo.", "addr", cli.addr) client := types.NewABCIApplicationClient(conn) ENSURE_CONNECTED: @@ -68,6 +69,7 @@ RETRY_LOOP: if err == nil { break ENSURE_CONNECTED } + cli.Logger.Error("Echo failed", "err", err) time.Sleep(time.Second * echoRetryIntervalSeconds) } @@ -104,7 +106,7 @@ func (cli *grpcClient) StopForError(err error) { func (cli *grpcClient) Error() error { cli.mtx.Lock() defer cli.mtx.Unlock() - return errors.Wrap(cli.err, types.HumanCode(types.CodeType_InternalError)) + return errors.Wrap(cli.err, "grpc client error") } // Set listener for all responses diff --git a/client/socket_client.go b/client/socket_client.go index a5d90dbe7..ecdc36945 100644 --- a/client/socket_client.go +++ b/client/socket_client.go @@ -111,7 +111,7 @@ func (cli *socketClient) StopForError(err error) { func (cli *socketClient) Error() error { cli.mtx.Lock() defer cli.mtx.Unlock() - return errors.Wrap(cli.err, types.HumanCode(types.CodeType_InternalError)) + return errors.Wrap(cli.err, "socket client error") } // Set listener for all responses diff --git a/cmd/abci-cli/abci-cli.go b/cmd/abci-cli/abci-cli.go index 789832508..ef8b90635 100644 --- a/cmd/abci-cli/abci-cli.go +++ b/cmd/abci-cli/abci-cli.go @@ -10,46 +10,32 @@ import ( "os/exec" "strings" + "github.com/spf13/cobra" + + cmn "github.com/tendermint/tmlibs/common" + "github.com/tendermint/tmlibs/log" + abcicli "github.com/tendermint/abci/client" "github.com/tendermint/abci/example/counter" "github.com/tendermint/abci/example/dummy" "github.com/tendermint/abci/server" "github.com/tendermint/abci/types" "github.com/tendermint/abci/version" - cmn "github.com/tendermint/tmlibs/common" - "github.com/tendermint/tmlibs/log" - - "github.com/spf13/cobra" ) -// Structure for data passed to print response. -type response struct { - // generic abci response - Data []byte - Code types.CodeType - Log string - - Query *queryResponse -} - -type queryResponse struct { - Key []byte - Value []byte - Height uint64 - Proof []byte -} - // client is a global variable so it can be reused by the console -var client abcicli.Client - -var logger log.Logger +var ( + client abcicli.Client + logger log.Logger +) // flags var ( // global - address string - abci string - verbose bool + address string + abci string + verbose bool // for the println output + logLevel string // for the logger // query path string @@ -79,7 +65,11 @@ var RootCmd = &cobra.Command{ } if logger == nil { - logger = log.NewFilter(log.NewTMLogger(log.NewSyncWriter(os.Stdout)), log.AllowError()) + allowLevel, err := log.AllowLevel(logLevel) + if err != nil { + return err + } + logger = log.NewFilter(log.NewTMLogger(log.NewSyncWriter(os.Stdout)), allowLevel) } if client == nil { var err error @@ -88,7 +78,7 @@ var RootCmd = &cobra.Command{ return err } client.SetLogger(logger.With("module", "abci-client")) - if _, err := client.Start(); err != nil { + if err := client.Start(); err != nil { return err } } @@ -96,6 +86,23 @@ var RootCmd = &cobra.Command{ }, } +// Structure for data passed to print response. +type response struct { + // generic abci response + Data []byte + Code uint32 + Log string + + Query *queryResponse +} + +type queryResponse struct { + Key []byte + Value []byte + Height uint64 + Proof []byte +} + func Execute() error { addGlobalFlags() addCommands() @@ -103,9 +110,10 @@ func Execute() error { } func addGlobalFlags() { - RootCmd.PersistentFlags().StringVarP(&address, "address", "", "tcp://127.0.0.1:46658", "Address of application socket") + RootCmd.PersistentFlags().StringVarP(&address, "address", "", "tcp://0.0.0.0:46658", "Address of application socket") RootCmd.PersistentFlags().StringVarP(&abci, "abci", "", "socket", "Either socket or grpc") RootCmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, "Print the command and results as if it were a console session") + RootCmd.PersistentFlags().StringVarP(&logLevel, "log_level", "", "debug", "Set the logger level") } func addQueryFlags() { @@ -457,7 +465,7 @@ func cmdCounter(cmd *cobra.Command, args []string) error { return err } srv.SetLogger(logger.With("module", "abci-server")) - if _, err := srv.Start(); err != nil { + if err := srv.Start(); err != nil { return err } @@ -487,7 +495,7 @@ func cmdDummy(cmd *cobra.Command, args []string) error { return err } srv.SetLogger(logger.With("module", "abci-server")) - if _, err := srv.Start(); err != nil { + if err := srv.Start(); err != nil { return err } @@ -508,7 +516,12 @@ func printResponse(cmd *cobra.Command, args []string, rsp response) { } // Always print the status code. - fmt.Printf("-> code: %s\n", rsp.Code.String()) + if rsp.Code == types.CodeTypeOK { + fmt.Printf("-> code: OK\n") + } else { + fmt.Printf("-> code: %d\n", rsp.Code) + + } if len(rsp.Data) != 0 { // Do no print this line when using the commit command diff --git a/example/code/code.go b/example/code/code.go new file mode 100644 index 000000000..94e9d015e --- /dev/null +++ b/example/code/code.go @@ -0,0 +1,9 @@ +package code + +// Return codes for the examples +const ( + CodeTypeOK uint32 = 0 + CodeTypeEncodingError uint32 = 1 + CodeTypeBadNonce uint32 = 2 + CodeTypeUnauthorized uint32 = 3 +) diff --git a/example/counter/counter.go b/example/counter/counter.go index a7b090275..0978799e8 100644 --- a/example/counter/counter.go +++ b/example/counter/counter.go @@ -4,6 +4,7 @@ import ( "encoding/binary" "fmt" + "github.com/tendermint/abci/example/code" "github.com/tendermint/abci/types" cmn "github.com/tendermint/tmlibs/common" ) @@ -36,7 +37,7 @@ func (app *CounterApplication) DeliverTx(tx []byte) types.ResponseDeliverTx { if app.serial { if len(tx) > 8 { return types.ResponseDeliverTx{ - Code: types.CodeType_EncodingError, + Code: code.CodeTypeEncodingError, Log: fmt.Sprintf("Max tx size is 8 bytes, got %d", len(tx))} } tx8 := make([]byte, 8) @@ -44,19 +45,19 @@ func (app *CounterApplication) DeliverTx(tx []byte) types.ResponseDeliverTx { txValue := binary.BigEndian.Uint64(tx8) if txValue != uint64(app.txCount) { return types.ResponseDeliverTx{ - Code: types.CodeType_BadNonce, + Code: code.CodeTypeBadNonce, Log: fmt.Sprintf("Invalid nonce. Expected %v, got %v", app.txCount, txValue)} } } app.txCount++ - return types.ResponseDeliverTx{Code: types.CodeType_OK} + return types.ResponseDeliverTx{Code: code.CodeTypeOK} } func (app *CounterApplication) CheckTx(tx []byte) types.ResponseCheckTx { if app.serial { if len(tx) > 8 { return types.ResponseCheckTx{ - Code: types.CodeType_EncodingError, + Code: code.CodeTypeEncodingError, Log: fmt.Sprintf("Max tx size is 8 bytes, got %d", len(tx))} } tx8 := make([]byte, 8) @@ -64,21 +65,21 @@ func (app *CounterApplication) CheckTx(tx []byte) types.ResponseCheckTx { txValue := binary.BigEndian.Uint64(tx8) if txValue < uint64(app.txCount) { return types.ResponseCheckTx{ - Code: types.CodeType_BadNonce, + Code: code.CodeTypeBadNonce, Log: fmt.Sprintf("Invalid nonce. Expected >= %v, got %v", app.txCount, txValue)} } } - return types.ResponseCheckTx{Code: types.CodeType_OK} + return types.ResponseCheckTx{Code: code.CodeTypeOK} } func (app *CounterApplication) Commit() (resp types.ResponseCommit) { app.hashCount++ if app.txCount == 0 { - return types.ResponseCommit{Code: types.CodeType_OK} + return types.ResponseCommit{Code: code.CodeTypeOK} } hash := make([]byte, 8) binary.BigEndian.PutUint64(hash, uint64(app.txCount)) - return types.ResponseCommit{Code: types.CodeType_OK, Data: hash} + return types.ResponseCommit{Code: code.CodeTypeOK, Data: hash} } func (app *CounterApplication) Query(reqQuery types.RequestQuery) types.ResponseQuery { diff --git a/example/dummy/dummy.go b/example/dummy/dummy.go index 30eaff284..fdb4851cf 100644 --- a/example/dummy/dummy.go +++ b/example/dummy/dummy.go @@ -4,6 +4,7 @@ import ( "bytes" "fmt" + "github.com/tendermint/abci/example/code" "github.com/tendermint/abci/types" wire "github.com/tendermint/go-wire" "github.com/tendermint/iavl" @@ -42,11 +43,11 @@ func (app *DummyApplication) DeliverTx(tx []byte) types.ResponseDeliverTx { {Key: "app.creator", ValueType: types.KVPair_STRING, ValueString: "jae"}, {Key: "app.key", ValueType: types.KVPair_STRING, ValueString: string(key)}, } - return types.ResponseDeliverTx{Code: types.CodeType_OK, Tags: tags} + return types.ResponseDeliverTx{Code: code.CodeTypeOK, Tags: tags} } func (app *DummyApplication) CheckTx(tx []byte) types.ResponseCheckTx { - return types.ResponseCheckTx{Code: types.CodeType_OK} + return types.ResponseCheckTx{Code: code.CodeTypeOK} } func (app *DummyApplication) Commit() types.ResponseCommit { @@ -64,7 +65,7 @@ func (app *DummyApplication) Commit() types.ResponseCommit { } } - return types.ResponseCommit{Code: types.CodeType_OK, Data: hash} + return types.ResponseCommit{Code: code.CodeTypeOK, Data: hash} } func (app *DummyApplication) Query(reqQuery types.RequestQuery) (resQuery types.ResponseQuery) { diff --git a/example/dummy/dummy_test.go b/example/dummy/dummy_test.go index b7aef6a8b..738da6e85 100644 --- a/example/dummy/dummy_test.go +++ b/example/dummy/dummy_test.go @@ -7,12 +7,15 @@ import ( "testing" "github.com/stretchr/testify/require" - abcicli "github.com/tendermint/abci/client" - abciserver "github.com/tendermint/abci/server" - "github.com/tendermint/abci/types" + "github.com/tendermint/iavl" cmn "github.com/tendermint/tmlibs/common" "github.com/tendermint/tmlibs/log" + + abcicli "github.com/tendermint/abci/client" + "github.com/tendermint/abci/example/code" + abciserver "github.com/tendermint/abci/server" + "github.com/tendermint/abci/types" ) func testDummy(t *testing.T, app types.Application, tx []byte, key, value string) { @@ -27,7 +30,7 @@ func testDummy(t *testing.T, app types.Application, tx []byte, key, value string Path: "/store", Data: []byte(key), }) - require.Equal(t, types.CodeType_OK, resQuery.Code) + require.Equal(t, code.CodeTypeOK, resQuery.Code) require.Equal(t, value, string(resQuery.Value)) // make sure proof is fine @@ -36,7 +39,7 @@ func testDummy(t *testing.T, app types.Application, tx []byte, key, value string Data: []byte(key), Prove: true, }) - require.Equal(t, types.CodeType_OK, resQuery.Code) + require.EqualValues(t, code.CodeTypeOK, resQuery.Code) require.Equal(t, value, string(resQuery.Value)) proof, err := iavl.ReadKeyExistsProof(resQuery.Proof) require.Nil(t, err) @@ -212,14 +215,14 @@ func makeSocketClientServer(app types.Application, name string) (abcicli.Client, server := abciserver.NewSocketServer(socket, app) server.SetLogger(logger.With("module", "abci-server")) - if _, err := server.Start(); err != nil { + if err := server.Start(); err != nil { return nil, nil, err } // Connect to the socket client := abcicli.NewSocketClient(socket, false) client.SetLogger(logger.With("module", "abci-client")) - if _, err := client.Start(); err != nil { + if err := client.Start(); err != nil { server.Stop() return nil, nil, err } @@ -235,13 +238,13 @@ func makeGRPCClientServer(app types.Application, name string) (abcicli.Client, c gapp := types.NewGRPCApplication(app) server := abciserver.NewGRPCServer(socket, gapp) server.SetLogger(logger.With("module", "abci-server")) - if _, err := server.Start(); err != nil { + if err := server.Start(); err != nil { return nil, nil, err } client := abcicli.NewGRPCClient(socket, true) client.SetLogger(logger.With("module", "abci-client")) - if _, err := client.Start(); err != nil { + if err := client.Start(); err != nil { server.Stop() return nil, nil, err } @@ -295,7 +298,7 @@ func testClient(t *testing.T, app abcicli.Client, tx []byte, key, value string) Data: []byte(key), }) require.Nil(t, err) - require.Equal(t, types.CodeType_OK, resQuery.Code) + require.Equal(t, code.CodeTypeOK, resQuery.Code) require.Equal(t, value, string(resQuery.Value)) // make sure proof is fine @@ -305,7 +308,7 @@ func testClient(t *testing.T, app abcicli.Client, tx []byte, key, value string) Prove: true, }) require.Nil(t, err) - require.Equal(t, types.CodeType_OK, resQuery.Code) + require.Equal(t, code.CodeTypeOK, resQuery.Code) require.Equal(t, value, string(resQuery.Value)) proof, err := iavl.ReadKeyExistsProof(resQuery.Proof) require.Nil(t, err) diff --git a/example/dummy/persistent_dummy.go b/example/dummy/persistent_dummy.go index ed2845296..1d72bea14 100644 --- a/example/dummy/persistent_dummy.go +++ b/example/dummy/persistent_dummy.go @@ -7,6 +7,7 @@ import ( "strconv" "strings" + "github.com/tendermint/abci/example/code" "github.com/tendermint/abci/types" crypto "github.com/tendermint/go-crypto" "github.com/tendermint/iavl" @@ -96,7 +97,7 @@ func (app *PersistentDummyApplication) Commit() types.ResponseCommit { } app.logger.Info("Commit block", "height", height, "root", appHash) - return types.ResponseCommit{Code: types.CodeType_OK, Data: appHash} + return types.ResponseCommit{Code: code.CodeTypeOK, Data: appHash} } func (app *PersistentDummyApplication) Query(reqQuery types.RequestQuery) types.ResponseQuery { @@ -160,7 +161,7 @@ func (app *PersistentDummyApplication) execValidatorTx(tx []byte) types.Response pubKeyAndPower := strings.Split(string(tx), "/") if len(pubKeyAndPower) != 2 { return types.ResponseDeliverTx{ - Code: types.CodeType_EncodingError, + Code: code.CodeTypeEncodingError, Log: fmt.Sprintf("Expected 'pubkey/power'. Got %v", pubKeyAndPower)} } pubkeyS, powerS := pubKeyAndPower[0], pubKeyAndPower[1] @@ -169,13 +170,13 @@ func (app *PersistentDummyApplication) execValidatorTx(tx []byte) types.Response pubkey, err := hex.DecodeString(pubkeyS) if err != nil { return types.ResponseDeliverTx{ - Code: types.CodeType_EncodingError, + Code: code.CodeTypeEncodingError, Log: fmt.Sprintf("Pubkey (%s) is invalid hex", pubkeyS)} } _, err = crypto.PubKeyFromBytes(pubkey) if err != nil { return types.ResponseDeliverTx{ - Code: types.CodeType_EncodingError, + Code: code.CodeTypeEncodingError, Log: fmt.Sprintf("Pubkey (%X) is invalid go-crypto encoded", pubkey)} } @@ -183,7 +184,7 @@ func (app *PersistentDummyApplication) execValidatorTx(tx []byte) types.Response power, err := strconv.Atoi(powerS) if err != nil { return types.ResponseDeliverTx{ - Code: types.CodeType_EncodingError, + Code: code.CodeTypeEncodingError, Log: fmt.Sprintf("Power (%s) is not an int", powerS)} } @@ -198,7 +199,7 @@ func (app *PersistentDummyApplication) updateValidator(v *types.Validator) types // remove validator if !app.app.state.Has(key) { return types.ResponseDeliverTx{ - Code: types.CodeType_Unauthorized, + Code: code.CodeTypeUnauthorized, Log: fmt.Sprintf("Cannot remove non-existent validator %X", key)} } app.app.state.Remove(key) @@ -207,7 +208,7 @@ func (app *PersistentDummyApplication) updateValidator(v *types.Validator) types value := bytes.NewBuffer(make([]byte, 0)) if err := types.WriteMessage(v, value); err != nil { return types.ResponseDeliverTx{ - Code: types.CodeType_InternalError, + Code: code.CodeTypeEncodingError, Log: fmt.Sprintf("Error encoding validator: %v", err)} } app.app.state.Set(key, value.Bytes()) @@ -216,5 +217,5 @@ func (app *PersistentDummyApplication) updateValidator(v *types.Validator) types // we only update the changes array if we successfully updated the tree app.changes = append(app.changes, v) - return types.ResponseDeliverTx{Code: types.CodeType_OK} + return types.ResponseDeliverTx{Code: code.CodeTypeOK} } diff --git a/example/example_test.go b/example/example_test.go index 496ed3d3f..dfa38a398 100644 --- a/example/example_test.go +++ b/example/example_test.go @@ -11,12 +11,14 @@ import ( "golang.org/x/net/context" + cmn "github.com/tendermint/tmlibs/common" + "github.com/tendermint/tmlibs/log" + abcicli "github.com/tendermint/abci/client" + "github.com/tendermint/abci/example/code" "github.com/tendermint/abci/example/dummy" abciserver "github.com/tendermint/abci/server" "github.com/tendermint/abci/types" - cmn "github.com/tendermint/tmlibs/common" - "github.com/tendermint/tmlibs/log" ) func TestDummy(t *testing.T) { @@ -40,7 +42,7 @@ func testStream(t *testing.T, app types.Application) { // Start the listener server := abciserver.NewSocketServer("unix://test.sock", app) server.SetLogger(log.TestingLogger().With("module", "abci-server")) - if _, err := server.Start(); err != nil { + if err := server.Start(); err != nil { t.Fatalf("Error starting socket server: %v", err.Error()) } defer server.Stop() @@ -48,7 +50,7 @@ func testStream(t *testing.T, app types.Application) { // Connect to the socket client := abcicli.NewSocketClient("unix://test.sock", false) client.SetLogger(log.TestingLogger().With("module", "abci-client")) - if _, err := client.Start(); err != nil { + if err := client.Start(); err != nil { t.Fatalf("Error starting socket client: %v", err.Error()) } defer client.Stop() @@ -60,7 +62,7 @@ func testStream(t *testing.T, app types.Application) { switch r := res.Value.(type) { case *types.Response_DeliverTx: counter++ - if r.DeliverTx.Code != types.CodeType_OK { + if r.DeliverTx.Code != code.CodeTypeOK { t.Error("DeliverTx failed with ret_code", r.DeliverTx.Code) } if counter > numDeliverTxs { @@ -113,7 +115,7 @@ func testGRPCSync(t *testing.T, app *types.GRPCApplication) { // Start the listener server := abciserver.NewGRPCServer("unix://test.sock", app) server.SetLogger(log.TestingLogger().With("module", "abci-server")) - if _, err := server.Start(); err != nil { + if err := server.Start(); err != nil { t.Fatalf("Error starting GRPC server: %v", err.Error()) } defer server.Stop() @@ -135,7 +137,7 @@ func testGRPCSync(t *testing.T, app *types.GRPCApplication) { t.Fatalf("Error in GRPC DeliverTx: %v", err.Error()) } counter++ - if response.Code != types.CodeType_OK { + if response.Code != code.CodeTypeOK { t.Error("DeliverTx failed with ret_code", response.Code) } if counter > numDeliverTxs { diff --git a/glide.lock b/glide.lock index 80dbc4835..f96fd1c08 100644 --- a/glide.lock +++ b/glide.lock @@ -1,14 +1,12 @@ -hash: 5501ab3d7136aa8fb425c995d45221849b33aefab76c5d2c192e721dad28da38 -updated: 2017-11-14T18:23:41.2024073Z +hash: 6cb2c869c8ce7d9e43b1e8930b9b1bc974ebb3d36d4b704fc78b77efba956a13 +updated: 2017-11-30T17:08:29.176515576-05:00 imports: - name: github.com/btcsuite/btcd - version: b8df516b4b267acf2de46be593a9d948d1d2c420 + version: 2e60448ffcc6bf78332d1fe590260095f554dd78 subpackages: - btcec -- name: github.com/btcsuite/fastsha256 - version: 637e656429416087660c84436a2a035d69d54e2e - name: github.com/go-kit/kit - version: d67bb4c202e3b91377d1079b110a6c9ce23ab2f8 + version: e3b2152e0063c5f05efea89ecbe297852af2a92d subpackages: - log - log/level @@ -16,15 +14,21 @@ imports: - name: github.com/go-logfmt/logfmt version: 390ab7935ee28ec6b286364bba9b4dd6410cb3d5 - name: github.com/go-playground/locales - version: 1e5f1161c6416a5ff48840eb8724a394e48cc534 + version: e4cbcb5d0652150d40ad0646651076b6bd2be4f6 subpackages: - currency - name: github.com/go-playground/universal-translator version: 71201497bace774495daed26a3874fd339e0b538 - name: github.com/go-stack/stack - version: 100eb0c0a9c5b306ca2fb4f165df21d80ada4b82 + version: 259ab82a6cad3992b4e21ff5cac294ccb06474bc +- name: github.com/gogo/protobuf + version: 342cbe0a04158f6dcb03ca0079991a51a4248c02 + subpackages: + - gogoproto + - proto + - protoc-gen-gogo/descriptor - name: github.com/golang/protobuf - version: 1643683e1b54a9e88ad26d98f81400c8c9d9f4f9 + version: 1e59b77b52bf8e4b449a57e6f79f21226d571845 subpackages: - proto - ptypes @@ -40,13 +44,13 @@ imports: - name: github.com/kr/logfmt version: b84e30acd515aadc4b783ad4ff83aff3299bdfe0 - name: github.com/pkg/errors - version: 645ef00459ed84a119197bfb8d8205042c6df63d + version: f15c970de5b76fac0b59abb32d62c17cc7bed265 - name: github.com/spf13/cobra version: 7b2c5ac9fc04fc5efafb60700713d4fa609b777b - name: github.com/spf13/pflag - version: 80fe0fb4eba54167e2ccae1c6c950e72abf61b73 + version: 4c012f6dcd9546820e378d0bdda4d8fc772cdfea - name: github.com/syndtr/goleveldb - version: 8c81ea47d4c41a385645e133e15510fc6a2a74b4 + version: adf24ef3f94bd13ec4163060b21a5678f22b429b subpackages: - leveldb - leveldb/cache @@ -61,27 +65,27 @@ imports: - leveldb/table - leveldb/util - name: github.com/tendermint/ed25519 - version: 1f52c6f8b8a5c7908aff4497c186af344b428925 + version: d8387025d2b9d158cf4efb07e7ebf814bcce2057 subpackages: - edwards25519 - extra25519 - name: github.com/tendermint/go-crypto version: b4f04f196cd719660e43b91202cd60d9a95b1837 - name: github.com/tendermint/go-wire - version: 1c96861c03231361546944d883d99593b2e6b408 + version: 5ab49b4c6ad674da6b81442911cf713ef0afb544 subpackages: - data - name: github.com/tendermint/iavl version: 595f3dcd5b6cd4a292e90757ae6d367fd7a6e653 - name: github.com/tendermint/tmlibs - version: 2442a0a698d271d5cf5d6a8e7c1db20335e959c1 + version: 21fb7819891997c96838308b4eba5a50b07ff03f subpackages: - common - db - log - process - name: golang.org/x/crypto - version: c7af5bf2638a1164f2eb5467c39c6cffbd13a02e + version: 94eea52f7b742c7cbe0b03b22f0c4c8631ece122 subpackages: - nacl/secretbox - openpgp/armor @@ -90,7 +94,7 @@ imports: - ripemd160 - salsa20/salsa - name: golang.org/x/net - version: cd69bc3fc700721b709c3a59e16e24c67b58f6ff + version: a8b9294777976932365dabb6640cf1468d95c70f subpackages: - context - http2 @@ -100,18 +104,18 @@ imports: - lex/httplex - trace - name: golang.org/x/text - version: 470f45bf29f4147d6fbd7dfd0a02a848e49f5bf4 + version: 75cc3cad82b5f47d3fb229ddda8c5167da14f294 subpackages: - secure/bidirule - transform - unicode/bidi - unicode/norm - name: google.golang.org/genproto - version: f676e0f3ac6395ff1a529ae59a6670878a8371a6 + version: 7f0da29060c682909f650ad8ed4e515bd74fa12a subpackages: - googleapis/rpc/status - name: google.golang.org/grpc - version: f7bf885db0b7479a537ec317c6e48ce53145f3db + version: 401e0e00e4bb830a10496d64cd95e068c5bf50de subpackages: - balancer - codes @@ -130,10 +134,10 @@ imports: - tap - transport - name: gopkg.in/go-playground/validator.v9 - version: 6d8c18553ea1ac493d049edd6f102f52e618f085 + version: 61caf9d3038e1af346dbf5c2e16f6678e1548364 testImports: - name: github.com/davecgh/go-spew - version: 6d212800a42e8ab5c146b8ace3490ee17e5225f9 + version: 04cdfd42973bb9c8589fd6a731800cf222fde1a9 subpackages: - spew - name: github.com/pmezard/go-difflib @@ -141,7 +145,7 @@ testImports: subpackages: - difflib - name: github.com/stretchr/testify - version: 69483b4bd14f5845b5a1e55bca19e954e827f1d0 + version: 2aa2c176b9dab406a6970f6a55f513e8a8c8b18f subpackages: - assert - require diff --git a/glide.yaml b/glide.yaml index ce8057234..88f49dde4 100644 --- a/glide.yaml +++ b/glide.yaml @@ -1,9 +1,11 @@ package: github.com/tendermint/abci import: -- package: github.com/golang/protobuf +- package: github.com/gogo/protobuf + version: v0.5 subpackages: - proto - package: github.com/spf13/cobra + version: v0.0.1 - package: github.com/tendermint/go-crypto version: develop - package: github.com/tendermint/go-wire @@ -23,6 +25,7 @@ import: subpackages: - context - package: google.golang.org/grpc + version: v1.7.3 testImport: - package: github.com/stretchr/testify subpackages: diff --git a/server/grpc_server.go b/server/grpc_server.go index 077f0e525..e7dad15cf 100644 --- a/server/grpc_server.go +++ b/server/grpc_server.go @@ -42,6 +42,7 @@ func (s *GRPCServer) OnStart() error { if err != nil { return err } + s.Logger.Info("Listening", "proto", s.proto, "addr", s.addr) s.listener = ln s.server = grpc.NewServer() types.RegisterABCIApplicationServer(s.server, s.app) diff --git a/tests/client_server_test.go b/tests/client_server_test.go index cc946fcef..646c8b609 100644 --- a/tests/client_server_test.go +++ b/tests/client_server_test.go @@ -17,11 +17,11 @@ func TestClientServerNoAddrPrefix(t *testing.T) { server, err := abciserver.NewServer(addr, transport, app) assert.NoError(t, err, "expected no error on NewServer") - _, err = server.Start() + err = server.Start() assert.NoError(t, err, "expected no error on server.Start") client, err := abciclient.NewClient(addr, transport, true) assert.NoError(t, err, "expected no error on NewClient") - _, err = client.Start() + err = client.Start() assert.NoError(t, err, "expected no error on client.Start") } diff --git a/tests/test_app/app.go b/tests/test_app/app.go index f7ecbef5e..f04036216 100644 --- a/tests/test_app/app.go +++ b/tests/test_app/app.go @@ -18,7 +18,7 @@ func startClient(abciType string) abcicli.Client { } logger := log.NewTMLogger(log.NewSyncWriter(os.Stdout)) client.SetLogger(logger.With("module", "abcicli")) - if _, err := client.Start(); err != nil { + if err := client.Start(); err != nil { panicf("connecting to abci_app: %v", err.Error()) } @@ -45,7 +45,7 @@ func commit(client abcicli.Client, hashExp []byte) { } } -func deliverTx(client abcicli.Client, txBytes []byte, codeExp types.CodeType, dataExp []byte) { +func deliverTx(client abcicli.Client, txBytes []byte, codeExp uint32, dataExp []byte) { res, err := client.DeliverTxSync(txBytes) if err != nil { panicf("client error: %v", err) @@ -58,7 +58,7 @@ func deliverTx(client abcicli.Client, txBytes []byte, codeExp types.CodeType, da } } -/*func checkTx(client abcicli.Client, txBytes []byte, codeExp types.CodeType, dataExp []byte) { +/*func checkTx(client abcicli.Client, txBytes []byte, codeExp uint32, dataExp []byte) { res, err := client.CheckTxSync(txBytes) if err != nil { panicf("client error: %v", err) diff --git a/tests/test_app/main.go b/tests/test_app/main.go index a21918f51..95a7515d4 100644 --- a/tests/test_app/main.go +++ b/tests/test_app/main.go @@ -7,6 +7,7 @@ import ( "os/exec" "time" + "github.com/tendermint/abci/example/code" "github.com/tendermint/abci/types" ) @@ -69,15 +70,15 @@ func testCounter() { setOption(client, "serial", "on") commit(client, nil) - deliverTx(client, []byte("abc"), types.CodeType_BadNonce, nil) + deliverTx(client, []byte("abc"), code.CodeTypeBadNonce, nil) commit(client, nil) - deliverTx(client, []byte{0x00}, types.CodeType_OK, nil) + deliverTx(client, []byte{0x00}, types.CodeTypeOK, nil) commit(client, []byte{0, 0, 0, 0, 0, 0, 0, 1}) - deliverTx(client, []byte{0x00}, types.CodeType_BadNonce, nil) - deliverTx(client, []byte{0x01}, types.CodeType_OK, nil) - deliverTx(client, []byte{0x00, 0x02}, types.CodeType_OK, nil) - deliverTx(client, []byte{0x00, 0x03}, types.CodeType_OK, nil) - deliverTx(client, []byte{0x00, 0x00, 0x04}, types.CodeType_OK, nil) - deliverTx(client, []byte{0x00, 0x00, 0x06}, types.CodeType_BadNonce, nil) + deliverTx(client, []byte{0x00}, code.CodeTypeBadNonce, nil) + deliverTx(client, []byte{0x01}, types.CodeTypeOK, nil) + deliverTx(client, []byte{0x00, 0x02}, types.CodeTypeOK, nil) + deliverTx(client, []byte{0x00, 0x03}, types.CodeTypeOK, nil) + deliverTx(client, []byte{0x00, 0x00, 0x04}, types.CodeTypeOK, nil) + deliverTx(client, []byte{0x00, 0x00, 0x06}, code.CodeTypeBadNonce, nil) commit(client, []byte{0, 0, 0, 0, 0, 0, 0, 5}) } diff --git a/tests/test_app/test.sh b/tests/test_app/test.sh index 5b523fefe..230c94163 100755 --- a/tests/test_app/test.sh +++ b/tests/test_app/test.sh @@ -11,11 +11,16 @@ DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" # Change into that dir because we expect that. cd "$DIR" +echo "RUN COUNTER OVER SOCKET" # test golang counter ABCI_APP="counter" go run ./*.go +echo "----------------------" + +echo "RUN COUNTER OVER GRPC" # test golang counter via grpc ABCI_APP="counter --abci=grpc" ABCI="grpc" go run ./*.go +echo "----------------------" # test nodejs counter # TODO: fix node app diff --git a/tests/test_cli/ex2.abci.out b/tests/test_cli/ex2.abci.out index 40e10f83e..741dd7b72 100644 --- a/tests/test_cli/ex2.abci.out +++ b/tests/test_cli/ex2.abci.out @@ -11,14 +11,14 @@ -> code: OK > check_tx 0x00 --> code: BadNonce +-> code: 2 -> log: Invalid nonce. Expected >= 1, got 0 > deliver_tx 0x01 -> code: OK > deliver_tx 0x04 --> code: BadNonce +-> code: 2 -> log: Invalid nonce. Expected 2, got 4 > info diff --git a/tests/test_cli/test.sh b/tests/test_cli/test.sh index f6259148d..ed00b9d72 100644 --- a/tests/test_cli/test.sh +++ b/tests/test_cli/test.sh @@ -17,7 +17,7 @@ function testExample() { echo "Example $N: $APP" $APP &> /dev/null & sleep 2 - abci-cli --verbose batch < "$INPUT" > "${INPUT}.out.new" + abci-cli --log_level=error --verbose batch < "$INPUT" > "${INPUT}.out.new" killall "$3" pre=$(shasum < "${INPUT}.out") diff --git a/types/base_app.go b/types/base_app.go index 404678e95..1998e9dcb 100644 --- a/types/base_app.go +++ b/types/base_app.go @@ -16,19 +16,19 @@ func (BaseApplication) SetOption(req RequestSetOption) ResponseSetOption { } func (BaseApplication) DeliverTx(tx []byte) ResponseDeliverTx { - return ResponseDeliverTx{Code: CodeType_OK} + return ResponseDeliverTx{Code: CodeTypeOK} } func (BaseApplication) CheckTx(tx []byte) ResponseCheckTx { - return ResponseCheckTx{Code: CodeType_OK} + return ResponseCheckTx{Code: CodeTypeOK} } func (BaseApplication) Commit() ResponseCommit { - return ResponseCommit{Code: CodeType_OK, Data: []byte("nil")} + return ResponseCommit{Code: CodeTypeOK} } func (BaseApplication) Query(req RequestQuery) ResponseQuery { - return ResponseQuery{Code: CodeType_OK} + return ResponseQuery{Code: CodeTypeOK} } func (BaseApplication) InitChain(req RequestInitChain) ResponseInitChain { diff --git a/types/code.go b/types/code.go deleted file mode 100644 index 613c4cda3..000000000 --- a/types/code.go +++ /dev/null @@ -1,37 +0,0 @@ -package types - -var ( - code2string = map[CodeType]string{ - CodeType_InternalError: "Internal error", - CodeType_EncodingError: "Encoding error", - CodeType_BadNonce: "Error bad nonce", - CodeType_Unauthorized: "Unauthorized", - CodeType_InsufficientFunds: "Insufficient funds", - CodeType_UnknownRequest: "Unknown request", - - CodeType_BaseDuplicateAddress: "Error (base) duplicate address", - CodeType_BaseEncodingError: "Error (base) encoding error", - CodeType_BaseInsufficientFees: "Error (base) insufficient fees", - CodeType_BaseInsufficientFunds: "Error (base) insufficient funds", - CodeType_BaseInsufficientGasPrice: "Error (base) insufficient gas price", - CodeType_BaseInvalidInput: "Error (base) invalid input", - CodeType_BaseInvalidOutput: "Error (base) invalid output", - CodeType_BaseInvalidPubKey: "Error (base) invalid pubkey", - CodeType_BaseInvalidSequence: "Error (base) invalid sequence", - CodeType_BaseInvalidSignature: "Error (base) invalid signature", - CodeType_BaseUnknownAddress: "Error (base) unknown address", - CodeType_BaseUnknownPlugin: "Error (base) unknown plugin", - CodeType_BaseUnknownPubKey: "Error (base) unknown pubkey", - } -) - -func (c CodeType) IsOK() bool { return c == CodeType_OK } - -// HumanCode transforms code into a more humane format, such as "Internal error" instead of 0. -func HumanCode(code CodeType) string { - s, ok := code2string[code] - if !ok { - return "Unknown code" - } - return s -} diff --git a/types/code_test.go b/types/code_test.go deleted file mode 100644 index d9032d3c5..000000000 --- a/types/code_test.go +++ /dev/null @@ -1,12 +0,0 @@ -package types - -import ( - "testing" - - "github.com/stretchr/testify/assert" -) - -func TestHumanCode(t *testing.T) { - assert.Equal(t, "Internal error", HumanCode(CodeType_InternalError)) - assert.Equal(t, "Unknown code", HumanCode(-1)) -} diff --git a/types/messages.go b/types/messages.go index 77ad538ed..7b9c81f97 100644 --- a/types/messages.go +++ b/types/messages.go @@ -3,7 +3,7 @@ package types import ( "io" - "github.com/golang/protobuf/proto" + "github.com/gogo/protobuf/proto" wire "github.com/tendermint/go-wire" ) diff --git a/types/protoreplace/protoreplace.go b/types/protoreplace/protoreplace.go new file mode 100644 index 000000000..c859098f8 --- /dev/null +++ b/types/protoreplace/protoreplace.go @@ -0,0 +1,55 @@ +package main + +// +build ignore + +import ( + "bytes" + "fmt" + "io/ioutil" + "os" + "os/exec" + "regexp" + "strings" +) + +// This script replaces most `[]byte` with `data.Bytes` in a `.pb.go` file. +// It was written before we realized we could use `gogo/protobuf` to achieve +// this more natively. So it's here for safe keeping in case we ever need to +// abandon `gogo/protobuf`. + +func main() { + bytePattern := regexp.MustCompile("[[][]]byte") + const oldPath = "types/types.pb.go" + const tmpPath = "types/types.pb.new" + content, err := ioutil.ReadFile(oldPath) + if err != nil { + panic("cannot read " + oldPath) + os.Exit(1) + } + lines := bytes.Split(content, []byte("\n")) + outFile, _ := os.Create(tmpPath) + wroteImport := false + for _, line_bytes := range lines { + line := string(line_bytes) + gotPackageLine := strings.HasPrefix(line, "package ") + writeImportTime := strings.HasPrefix(line, "import ") + containsDescriptor := strings.Contains(line, "Descriptor") + containsByteArray := strings.Contains(line, "[]byte") + if containsByteArray && !containsDescriptor { + line = string(bytePattern.ReplaceAll([]byte(line), []byte("data.Bytes"))) + } + if writeImportTime && !wroteImport { + wroteImport = true + fmt.Fprintf(outFile, "import \"github.com/tendermint/go-wire/data\"\n") + + } + if gotPackageLine { + fmt.Fprintf(outFile, "%s\n", "//nolint: gas") + } + fmt.Fprintf(outFile, "%s\n", line) + } + outFile.Close() + os.Remove(oldPath) + os.Rename(tmpPath, oldPath) + exec.Command("goimports", "-w", oldPath) +} diff --git a/types/result.go b/types/result.go index 6ebad8ab2..3f3fdd827 100644 --- a/types/result.go +++ b/types/result.go @@ -2,13 +2,15 @@ package types import ( "fmt" +) - "github.com/tendermint/go-wire/data" +const ( + CodeTypeOK uint32 = 0 ) // IsErr returns true if Code is something other than OK. func (r ResponseCheckTx) IsErr() bool { - return r.Code != CodeType_OK + return r.Code != CodeTypeOK } // Error implements error interface by formatting response as string. @@ -18,7 +20,7 @@ func (r ResponseCheckTx) Error() string { // IsErr returns true if Code is something other than OK. func (r ResponseDeliverTx) IsErr() bool { - return r.Code != CodeType_OK + return r.Code != CodeTypeOK } // Error implements error interface by formatting response as string. @@ -28,7 +30,7 @@ func (r ResponseDeliverTx) Error() string { // IsErr returns true if Code is something other than OK. func (r ResponseCommit) IsErr() bool { - return r.Code != CodeType_OK + return r.Code != CodeTypeOK } // Error implements error interface by formatting response as string. @@ -36,46 +38,16 @@ func (r ResponseCommit) Error() string { return fmtError(r.Code, r.Log) } -func fmtError(code CodeType, log string) string { - codeAsStr, ok := code2string[code] - if ok { - return fmt.Sprintf("%s (%d): %s", codeAsStr, code, log) - } else { - return fmt.Sprintf("Unknown error (%d): %s", code, log) - } -} - -// ResultQuery is a wrapper around ResponseQuery using data.Bytes instead of -// raw byte slices. -type ResultQuery struct { - Code CodeType `json:"code"` - Index int64 `json:"index"` - Key data.Bytes `json:"key"` - Value data.Bytes `json:"value"` - Proof data.Bytes `json:"proof"` - Height uint64 `json:"height"` - Log string `json:"log"` -} - -// Result converts response query to ResultQuery. -func (r *ResponseQuery) Result() *ResultQuery { - return &ResultQuery{ - Code: r.Code, - Index: r.Index, - Key: r.Key, - Value: r.Value, - Proof: r.Proof, - Height: r.Height, - Log: r.Log, - } -} - // IsErr returns true if Code is something other than OK. -func (r *ResultQuery) IsErr() bool { - return r.Code != CodeType_OK +func (r ResponseQuery) IsErr() bool { + return r.Code != CodeTypeOK } -// Error implements error interface by formatting result as string. -func (r *ResultQuery) Error() string { +// Error implements error interface by formatting response as string. +func (r ResponseQuery) Error() string { return fmtError(r.Code, r.Log) } + +func fmtError(code uint32, log string) string { + return fmt.Sprintf("Error code (%d): %s", code, log) +} diff --git a/types/result_test.go b/types/result_test.go index 14f334c49..b7da838cc 100644 --- a/types/result_test.go +++ b/types/result_test.go @@ -6,71 +6,69 @@ import ( "github.com/stretchr/testify/assert" ) -func TestResultQuery(t *testing.T) { - orig := &ResponseQuery{ - Code: CodeType_OK, +func TestResponseQuery(t *testing.T) { + res := ResponseQuery{ + Code: CodeTypeOK, Index: 0, Key: []byte("hello"), Value: []byte("world"), Height: 1, } - res := orig.Result() assert.False(t, res.IsErr()) - orig = &ResponseQuery{ - Code: CodeType_BadNonce, + res = ResponseQuery{ + Code: 1, Index: 0, Key: []byte("hello"), Value: []byte("world"), Height: 1, Log: "bad", } - res = orig.Result() assert.True(t, res.IsErr()) - assert.Equal(t, "Error bad nonce (3): bad", res.Error()) + assert.Equal(t, "Error code (1): bad", res.Error()) } func TestResponseDeliverTx(t *testing.T) { res := ResponseDeliverTx{ - Code: CodeType_OK, + Code: CodeTypeOK, Data: []byte("Victor Mancha"), } assert.False(t, res.IsErr()) res = ResponseDeliverTx{ - Code: CodeType_InternalError, + Code: 1, Log: "bad", } assert.True(t, res.IsErr()) - assert.Equal(t, "Internal error (1): bad", res.Error()) + assert.Equal(t, "Error code (1): bad", res.Error()) } func TestResponseCheckTx(t *testing.T) { res := ResponseCheckTx{ - Code: CodeType_OK, + Code: CodeTypeOK, Data: []byte("Talos"), } assert.False(t, res.IsErr()) res = ResponseCheckTx{ - Code: CodeType_InternalError, + Code: 1, Log: "bad", } assert.True(t, res.IsErr()) - assert.Equal(t, "Internal error (1): bad", res.Error()) + assert.Equal(t, "Error code (1): bad", res.Error()) } func TestResponseCommit(t *testing.T) { res := ResponseCommit{ - Code: CodeType_OK, + Code: CodeTypeOK, Data: []byte("Old Lace"), } assert.False(t, res.IsErr()) res = ResponseCommit{ - Code: CodeType_Unauthorized, + Code: 1, Log: "bad", } assert.True(t, res.IsErr()) - assert.Equal(t, "Unauthorized (4): bad", res.Error()) + assert.Equal(t, "Error code (1): bad", res.Error()) } diff --git a/types/types.pb.go b/types/types.pb.go index e433d1986..61a56cacf 100644 --- a/types/types.pb.go +++ b/types/types.pb.go @@ -1,6 +1,5 @@ -// Code generated by protoc-gen-go. +// Code generated by protoc-gen-gogo. DO NOT EDIT. // source: types/types.proto -// DO NOT EDIT! /* Package types is a generated protocol buffer package. @@ -40,17 +39,17 @@ It has these top-level messages: Validator KVPair */ -//nolint: gas package types -import proto "github.com/golang/protobuf/proto" +import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" +import _ "github.com/gogo/protobuf/gogoproto" -import ( - context "golang.org/x/net/context" - grpc "google.golang.org/grpc" -) +import github_com_tendermint_go_wire_data "github.com/tendermint/go-wire/data" + +import context "golang.org/x/net/context" +import grpc "google.golang.org/grpc" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -61,115 +60,7 @@ var _ = math.Inf // is compatible with the proto package it is being compiled against. // A compilation error at this line likely means your copy of the // proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package - -type CodeType int32 - -const ( - CodeType_OK CodeType = 0 - // General response codes, 0 ~ 99 - CodeType_InternalError CodeType = 1 - CodeType_EncodingError CodeType = 2 - CodeType_BadNonce CodeType = 3 - CodeType_Unauthorized CodeType = 4 - CodeType_InsufficientFunds CodeType = 5 - CodeType_UnknownRequest CodeType = 6 - // Reserved for basecoin, 100 ~ 199 - CodeType_BaseDuplicateAddress CodeType = 101 - CodeType_BaseEncodingError CodeType = 102 - CodeType_BaseInsufficientFees CodeType = 103 - CodeType_BaseInsufficientFunds CodeType = 104 - CodeType_BaseInsufficientGasPrice CodeType = 105 - CodeType_BaseInvalidInput CodeType = 106 - CodeType_BaseInvalidOutput CodeType = 107 - CodeType_BaseInvalidPubKey CodeType = 108 - CodeType_BaseInvalidSequence CodeType = 109 - CodeType_BaseInvalidSignature CodeType = 110 - CodeType_BaseUnknownAddress CodeType = 111 - CodeType_BaseUnknownPubKey CodeType = 112 - CodeType_BaseUnknownPlugin CodeType = 113 - // Reserved for governance, 200 ~ 299 - CodeType_GovUnknownEntity CodeType = 201 - CodeType_GovUnknownGroup CodeType = 202 - CodeType_GovUnknownProposal CodeType = 203 - CodeType_GovDuplicateGroup CodeType = 204 - CodeType_GovDuplicateMember CodeType = 205 - CodeType_GovDuplicateProposal CodeType = 206 - CodeType_GovDuplicateVote CodeType = 207 - CodeType_GovInvalidMember CodeType = 208 - CodeType_GovInvalidVote CodeType = 209 - CodeType_GovInvalidVotingPower CodeType = 210 -) - -var CodeType_name = map[int32]string{ - 0: "OK", - 1: "InternalError", - 2: "EncodingError", - 3: "BadNonce", - 4: "Unauthorized", - 5: "InsufficientFunds", - 6: "UnknownRequest", - 101: "BaseDuplicateAddress", - 102: "BaseEncodingError", - 103: "BaseInsufficientFees", - 104: "BaseInsufficientFunds", - 105: "BaseInsufficientGasPrice", - 106: "BaseInvalidInput", - 107: "BaseInvalidOutput", - 108: "BaseInvalidPubKey", - 109: "BaseInvalidSequence", - 110: "BaseInvalidSignature", - 111: "BaseUnknownAddress", - 112: "BaseUnknownPubKey", - 113: "BaseUnknownPlugin", - 201: "GovUnknownEntity", - 202: "GovUnknownGroup", - 203: "GovUnknownProposal", - 204: "GovDuplicateGroup", - 205: "GovDuplicateMember", - 206: "GovDuplicateProposal", - 207: "GovDuplicateVote", - 208: "GovInvalidMember", - 209: "GovInvalidVote", - 210: "GovInvalidVotingPower", -} -var CodeType_value = map[string]int32{ - "OK": 0, - "InternalError": 1, - "EncodingError": 2, - "BadNonce": 3, - "Unauthorized": 4, - "InsufficientFunds": 5, - "UnknownRequest": 6, - "BaseDuplicateAddress": 101, - "BaseEncodingError": 102, - "BaseInsufficientFees": 103, - "BaseInsufficientFunds": 104, - "BaseInsufficientGasPrice": 105, - "BaseInvalidInput": 106, - "BaseInvalidOutput": 107, - "BaseInvalidPubKey": 108, - "BaseInvalidSequence": 109, - "BaseInvalidSignature": 110, - "BaseUnknownAddress": 111, - "BaseUnknownPubKey": 112, - "BaseUnknownPlugin": 113, - "GovUnknownEntity": 201, - "GovUnknownGroup": 202, - "GovUnknownProposal": 203, - "GovDuplicateGroup": 204, - "GovDuplicateMember": 205, - "GovDuplicateProposal": 206, - "GovDuplicateVote": 207, - "GovInvalidMember": 208, - "GovInvalidVote": 209, - "GovInvalidVotingPower": 210, -} - -func (x CodeType) String() string { - return proto.EnumName(CodeType_name, int32(x)) -} -func (CodeType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type KVPair_Type int32 @@ -190,7 +81,7 @@ var KVPair_Type_value = map[string]int32{ func (x KVPair_Type) String() string { return proto.EnumName(KVPair_Type_name, int32(x)) } -func (KVPair_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{29, 0} } +func (KVPair_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptorTypes, []int{29, 0} } type Request struct { // Types that are valid to be assigned to Value: @@ -211,7 +102,7 @@ type Request struct { func (m *Request) Reset() { *m = Request{} } func (m *Request) String() string { return proto.CompactTextString(m) } func (*Request) ProtoMessage() {} -func (*Request) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } +func (*Request) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{0} } type isRequest_Value interface { isRequest_Value() @@ -369,57 +260,57 @@ func _Request_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { // value switch x := m.Value.(type) { case *Request_Echo: - b.EncodeVarint(1<<3 | proto.WireBytes) + _ = b.EncodeVarint(1<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Echo); err != nil { return err } case *Request_Flush: - b.EncodeVarint(2<<3 | proto.WireBytes) + _ = b.EncodeVarint(2<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Flush); err != nil { return err } case *Request_Info: - b.EncodeVarint(3<<3 | proto.WireBytes) + _ = b.EncodeVarint(3<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Info); err != nil { return err } case *Request_SetOption: - b.EncodeVarint(4<<3 | proto.WireBytes) + _ = b.EncodeVarint(4<<3 | proto.WireBytes) if err := b.EncodeMessage(x.SetOption); err != nil { return err } case *Request_DeliverTx: - b.EncodeVarint(5<<3 | proto.WireBytes) + _ = b.EncodeVarint(5<<3 | proto.WireBytes) if err := b.EncodeMessage(x.DeliverTx); err != nil { return err } case *Request_CheckTx: - b.EncodeVarint(6<<3 | proto.WireBytes) + _ = b.EncodeVarint(6<<3 | proto.WireBytes) if err := b.EncodeMessage(x.CheckTx); err != nil { return err } case *Request_Commit: - b.EncodeVarint(7<<3 | proto.WireBytes) + _ = b.EncodeVarint(7<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Commit); err != nil { return err } case *Request_Query: - b.EncodeVarint(8<<3 | proto.WireBytes) + _ = b.EncodeVarint(8<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Query); err != nil { return err } case *Request_InitChain: - b.EncodeVarint(9<<3 | proto.WireBytes) + _ = b.EncodeVarint(9<<3 | proto.WireBytes) if err := b.EncodeMessage(x.InitChain); err != nil { return err } case *Request_BeginBlock: - b.EncodeVarint(10<<3 | proto.WireBytes) + _ = b.EncodeVarint(10<<3 | proto.WireBytes) if err := b.EncodeMessage(x.BeginBlock); err != nil { return err } case *Request_EndBlock: - b.EncodeVarint(11<<3 | proto.WireBytes) + _ = b.EncodeVarint(11<<3 | proto.WireBytes) if err := b.EncodeMessage(x.EndBlock); err != nil { return err } @@ -593,13 +484,13 @@ func _Request_OneofSizer(msg proto.Message) (n int) { } type RequestEcho struct { - Message string `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"` + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` } func (m *RequestEcho) Reset() { *m = RequestEcho{} } func (m *RequestEcho) String() string { return proto.CompactTextString(m) } func (*RequestEcho) ProtoMessage() {} -func (*RequestEcho) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } +func (*RequestEcho) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{1} } func (m *RequestEcho) GetMessage() string { if m != nil { @@ -614,16 +505,16 @@ type RequestFlush struct { func (m *RequestFlush) Reset() { *m = RequestFlush{} } func (m *RequestFlush) String() string { return proto.CompactTextString(m) } func (*RequestFlush) ProtoMessage() {} -func (*RequestFlush) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } +func (*RequestFlush) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{2} } type RequestInfo struct { - Version string `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"` + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` } func (m *RequestInfo) Reset() { *m = RequestInfo{} } func (m *RequestInfo) String() string { return proto.CompactTextString(m) } func (*RequestInfo) ProtoMessage() {} -func (*RequestInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } +func (*RequestInfo) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{3} } func (m *RequestInfo) GetVersion() string { if m != nil { @@ -633,14 +524,14 @@ func (m *RequestInfo) GetVersion() string { } type RequestSetOption struct { - Key string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` - Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (m *RequestSetOption) Reset() { *m = RequestSetOption{} } func (m *RequestSetOption) String() string { return proto.CompactTextString(m) } func (*RequestSetOption) ProtoMessage() {} -func (*RequestSetOption) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } +func (*RequestSetOption) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{4} } func (m *RequestSetOption) GetKey() string { if m != nil { @@ -663,7 +554,7 @@ type RequestDeliverTx struct { func (m *RequestDeliverTx) Reset() { *m = RequestDeliverTx{} } func (m *RequestDeliverTx) String() string { return proto.CompactTextString(m) } func (*RequestDeliverTx) ProtoMessage() {} -func (*RequestDeliverTx) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } +func (*RequestDeliverTx) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{5} } func (m *RequestDeliverTx) GetTx() []byte { if m != nil { @@ -679,7 +570,7 @@ type RequestCheckTx struct { func (m *RequestCheckTx) Reset() { *m = RequestCheckTx{} } func (m *RequestCheckTx) String() string { return proto.CompactTextString(m) } func (*RequestCheckTx) ProtoMessage() {} -func (*RequestCheckTx) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } +func (*RequestCheckTx) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{6} } func (m *RequestCheckTx) GetTx() []byte { if m != nil { @@ -690,15 +581,15 @@ func (m *RequestCheckTx) GetTx() []byte { type RequestQuery struct { Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` - Path string `protobuf:"bytes,2,opt,name=path" json:"path,omitempty"` - Height uint64 `protobuf:"varint,3,opt,name=height" json:"height,omitempty"` - Prove bool `protobuf:"varint,4,opt,name=prove" json:"prove,omitempty"` + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` + Height uint64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"` + Prove bool `protobuf:"varint,4,opt,name=prove,proto3" json:"prove,omitempty"` } func (m *RequestQuery) Reset() { *m = RequestQuery{} } func (m *RequestQuery) String() string { return proto.CompactTextString(m) } func (*RequestQuery) ProtoMessage() {} -func (*RequestQuery) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } +func (*RequestQuery) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{7} } func (m *RequestQuery) GetData() []byte { if m != nil { @@ -734,7 +625,7 @@ type RequestCommit struct { func (m *RequestCommit) Reset() { *m = RequestCommit{} } func (m *RequestCommit) String() string { return proto.CompactTextString(m) } func (*RequestCommit) ProtoMessage() {} -func (*RequestCommit) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } +func (*RequestCommit) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{8} } type RequestInitChain struct { Validators []*Validator `protobuf:"bytes,1,rep,name=validators" json:"validators,omitempty"` @@ -743,7 +634,7 @@ type RequestInitChain struct { func (m *RequestInitChain) Reset() { *m = RequestInitChain{} } func (m *RequestInitChain) String() string { return proto.CompactTextString(m) } func (*RequestInitChain) ProtoMessage() {} -func (*RequestInitChain) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } +func (*RequestInitChain) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{9} } func (m *RequestInitChain) GetValidators() []*Validator { if m != nil { @@ -760,7 +651,7 @@ type RequestBeginBlock struct { func (m *RequestBeginBlock) Reset() { *m = RequestBeginBlock{} } func (m *RequestBeginBlock) String() string { return proto.CompactTextString(m) } func (*RequestBeginBlock) ProtoMessage() {} -func (*RequestBeginBlock) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } +func (*RequestBeginBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{10} } func (m *RequestBeginBlock) GetHash() []byte { if m != nil { @@ -777,13 +668,13 @@ func (m *RequestBeginBlock) GetHeader() *Header { } type RequestEndBlock struct { - Height uint64 `protobuf:"varint,1,opt,name=height" json:"height,omitempty"` + Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` } func (m *RequestEndBlock) Reset() { *m = RequestEndBlock{} } func (m *RequestEndBlock) String() string { return proto.CompactTextString(m) } func (*RequestEndBlock) ProtoMessage() {} -func (*RequestEndBlock) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } +func (*RequestEndBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{11} } func (m *RequestEndBlock) GetHeight() uint64 { if m != nil { @@ -812,7 +703,7 @@ type Response struct { func (m *Response) Reset() { *m = Response{} } func (m *Response) String() string { return proto.CompactTextString(m) } func (*Response) ProtoMessage() {} -func (*Response) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } +func (*Response) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{12} } type isResponse_Value interface { isResponse_Value() @@ -982,62 +873,62 @@ func _Response_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { // value switch x := m.Value.(type) { case *Response_Exception: - b.EncodeVarint(1<<3 | proto.WireBytes) + _ = b.EncodeVarint(1<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Exception); err != nil { return err } case *Response_Echo: - b.EncodeVarint(2<<3 | proto.WireBytes) + _ = b.EncodeVarint(2<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Echo); err != nil { return err } case *Response_Flush: - b.EncodeVarint(3<<3 | proto.WireBytes) + _ = b.EncodeVarint(3<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Flush); err != nil { return err } case *Response_Info: - b.EncodeVarint(4<<3 | proto.WireBytes) + _ = b.EncodeVarint(4<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Info); err != nil { return err } case *Response_SetOption: - b.EncodeVarint(5<<3 | proto.WireBytes) + _ = b.EncodeVarint(5<<3 | proto.WireBytes) if err := b.EncodeMessage(x.SetOption); err != nil { return err } case *Response_DeliverTx: - b.EncodeVarint(6<<3 | proto.WireBytes) + _ = b.EncodeVarint(6<<3 | proto.WireBytes) if err := b.EncodeMessage(x.DeliverTx); err != nil { return err } case *Response_CheckTx: - b.EncodeVarint(7<<3 | proto.WireBytes) + _ = b.EncodeVarint(7<<3 | proto.WireBytes) if err := b.EncodeMessage(x.CheckTx); err != nil { return err } case *Response_Commit: - b.EncodeVarint(8<<3 | proto.WireBytes) + _ = b.EncodeVarint(8<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Commit); err != nil { return err } case *Response_Query: - b.EncodeVarint(9<<3 | proto.WireBytes) + _ = b.EncodeVarint(9<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Query); err != nil { return err } case *Response_InitChain: - b.EncodeVarint(10<<3 | proto.WireBytes) + _ = b.EncodeVarint(10<<3 | proto.WireBytes) if err := b.EncodeMessage(x.InitChain); err != nil { return err } case *Response_BeginBlock: - b.EncodeVarint(11<<3 | proto.WireBytes) + _ = b.EncodeVarint(11<<3 | proto.WireBytes) if err := b.EncodeMessage(x.BeginBlock); err != nil { return err } case *Response_EndBlock: - b.EncodeVarint(12<<3 | proto.WireBytes) + _ = b.EncodeVarint(12<<3 | proto.WireBytes) if err := b.EncodeMessage(x.EndBlock); err != nil { return err } @@ -1224,13 +1115,13 @@ func _Response_OneofSizer(msg proto.Message) (n int) { } type ResponseException struct { - Error string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"` + Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` } func (m *ResponseException) Reset() { *m = ResponseException{} } func (m *ResponseException) String() string { return proto.CompactTextString(m) } func (*ResponseException) ProtoMessage() {} -func (*ResponseException) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } +func (*ResponseException) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{13} } func (m *ResponseException) GetError() string { if m != nil { @@ -1240,13 +1131,13 @@ func (m *ResponseException) GetError() string { } type ResponseEcho struct { - Message string `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"` + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` } func (m *ResponseEcho) Reset() { *m = ResponseEcho{} } func (m *ResponseEcho) String() string { return proto.CompactTextString(m) } func (*ResponseEcho) ProtoMessage() {} -func (*ResponseEcho) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } +func (*ResponseEcho) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{14} } func (m *ResponseEcho) GetMessage() string { if m != nil { @@ -1261,19 +1152,19 @@ type ResponseFlush struct { func (m *ResponseFlush) Reset() { *m = ResponseFlush{} } func (m *ResponseFlush) String() string { return proto.CompactTextString(m) } func (*ResponseFlush) ProtoMessage() {} -func (*ResponseFlush) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } +func (*ResponseFlush) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{15} } type ResponseInfo struct { - Data string `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"` - Version string `protobuf:"bytes,2,opt,name=version" json:"version,omitempty"` - LastBlockHeight uint64 `protobuf:"varint,3,opt,name=last_block_height,json=lastBlockHeight" json:"last_block_height,omitempty"` + Data string `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + LastBlockHeight uint64 `protobuf:"varint,3,opt,name=last_block_height,json=lastBlockHeight,proto3" json:"last_block_height,omitempty"` LastBlockAppHash []byte `protobuf:"bytes,4,opt,name=last_block_app_hash,json=lastBlockAppHash,proto3" json:"last_block_app_hash,omitempty"` } func (m *ResponseInfo) Reset() { *m = ResponseInfo{} } func (m *ResponseInfo) String() string { return proto.CompactTextString(m) } func (*ResponseInfo) ProtoMessage() {} -func (*ResponseInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } +func (*ResponseInfo) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{16} } func (m *ResponseInfo) GetData() string { if m != nil { @@ -1304,13 +1195,13 @@ func (m *ResponseInfo) GetLastBlockAppHash() []byte { } type ResponseSetOption struct { - Log string `protobuf:"bytes,1,opt,name=log" json:"log,omitempty"` + Log string `protobuf:"bytes,1,opt,name=log,proto3" json:"log,omitempty"` } func (m *ResponseSetOption) Reset() { *m = ResponseSetOption{} } func (m *ResponseSetOption) String() string { return proto.CompactTextString(m) } func (*ResponseSetOption) ProtoMessage() {} -func (*ResponseSetOption) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } +func (*ResponseSetOption) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{17} } func (m *ResponseSetOption) GetLog() string { if m != nil { @@ -1320,29 +1211,22 @@ func (m *ResponseSetOption) GetLog() string { } type ResponseDeliverTx struct { - Code CodeType `protobuf:"varint,1,opt,name=code,enum=types.CodeType" json:"code,omitempty"` - Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` - Log string `protobuf:"bytes,3,opt,name=log" json:"log,omitempty"` - Tags []*KVPair `protobuf:"bytes,4,rep,name=tags" json:"tags,omitempty"` + Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Data github_com_tendermint_go_wire_data.Bytes `protobuf:"bytes,2,opt,name=data,proto3,customtype=github.com/tendermint/go-wire/data.Bytes" json:"data"` + Log string `protobuf:"bytes,3,opt,name=log,proto3" json:"log,omitempty"` + Tags []*KVPair `protobuf:"bytes,4,rep,name=tags" json:"tags,omitempty"` } func (m *ResponseDeliverTx) Reset() { *m = ResponseDeliverTx{} } func (m *ResponseDeliverTx) String() string { return proto.CompactTextString(m) } func (*ResponseDeliverTx) ProtoMessage() {} -func (*ResponseDeliverTx) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } +func (*ResponseDeliverTx) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{18} } -func (m *ResponseDeliverTx) GetCode() CodeType { +func (m *ResponseDeliverTx) GetCode() uint32 { if m != nil { return m.Code } - return CodeType_OK -} - -func (m *ResponseDeliverTx) GetData() []byte { - if m != nil { - return m.Data - } - return nil + return 0 } func (m *ResponseDeliverTx) GetLog() string { @@ -1360,30 +1244,23 @@ func (m *ResponseDeliverTx) GetTags() []*KVPair { } type ResponseCheckTx struct { - Code CodeType `protobuf:"varint,1,opt,name=code,enum=types.CodeType" json:"code,omitempty"` - Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` - Log string `protobuf:"bytes,3,opt,name=log" json:"log,omitempty"` - Gas uint64 `protobuf:"varint,4,opt,name=gas" json:"gas,omitempty"` - Fee uint64 `protobuf:"varint,5,opt,name=fee" json:"fee,omitempty"` + Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Data github_com_tendermint_go_wire_data.Bytes `protobuf:"bytes,2,opt,name=data,proto3,customtype=github.com/tendermint/go-wire/data.Bytes" json:"data"` + Log string `protobuf:"bytes,3,opt,name=log,proto3" json:"log,omitempty"` + Gas uint64 `protobuf:"varint,4,opt,name=gas,proto3" json:"gas,omitempty"` + Fee uint64 `protobuf:"varint,5,opt,name=fee,proto3" json:"fee,omitempty"` } func (m *ResponseCheckTx) Reset() { *m = ResponseCheckTx{} } func (m *ResponseCheckTx) String() string { return proto.CompactTextString(m) } func (*ResponseCheckTx) ProtoMessage() {} -func (*ResponseCheckTx) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } +func (*ResponseCheckTx) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{19} } -func (m *ResponseCheckTx) GetCode() CodeType { +func (m *ResponseCheckTx) GetCode() uint32 { if m != nil { return m.Code } - return CodeType_OK -} - -func (m *ResponseCheckTx) GetData() []byte { - if m != nil { - return m.Data - } - return nil + return 0 } func (m *ResponseCheckTx) GetLog() string { @@ -1408,25 +1285,25 @@ func (m *ResponseCheckTx) GetFee() uint64 { } type ResponseQuery struct { - Code CodeType `protobuf:"varint,1,opt,name=code,enum=types.CodeType" json:"code,omitempty"` - Index int64 `protobuf:"varint,2,opt,name=index" json:"index,omitempty"` - Key []byte `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"` - Value []byte `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"` - Proof []byte `protobuf:"bytes,5,opt,name=proof,proto3" json:"proof,omitempty"` - Height uint64 `protobuf:"varint,6,opt,name=height" json:"height,omitempty"` - Log string `protobuf:"bytes,7,opt,name=log" json:"log,omitempty"` + Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Index int64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` + Key github_com_tendermint_go_wire_data.Bytes `protobuf:"bytes,3,opt,name=key,proto3,customtype=github.com/tendermint/go-wire/data.Bytes" json:"key"` + Value github_com_tendermint_go_wire_data.Bytes `protobuf:"bytes,4,opt,name=value,proto3,customtype=github.com/tendermint/go-wire/data.Bytes" json:"value"` + Proof github_com_tendermint_go_wire_data.Bytes `protobuf:"bytes,5,opt,name=proof,proto3,customtype=github.com/tendermint/go-wire/data.Bytes" json:"proof"` + Height uint64 `protobuf:"varint,6,opt,name=height,proto3" json:"height,omitempty"` + Log string `protobuf:"bytes,7,opt,name=log,proto3" json:"log,omitempty"` } func (m *ResponseQuery) Reset() { *m = ResponseQuery{} } func (m *ResponseQuery) String() string { return proto.CompactTextString(m) } func (*ResponseQuery) ProtoMessage() {} -func (*ResponseQuery) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } +func (*ResponseQuery) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{20} } -func (m *ResponseQuery) GetCode() CodeType { +func (m *ResponseQuery) GetCode() uint32 { if m != nil { return m.Code } - return CodeType_OK + return 0 } func (m *ResponseQuery) GetIndex() int64 { @@ -1436,27 +1313,6 @@ func (m *ResponseQuery) GetIndex() int64 { return 0 } -func (m *ResponseQuery) GetKey() []byte { - if m != nil { - return m.Key - } - return nil -} - -func (m *ResponseQuery) GetValue() []byte { - if m != nil { - return m.Value - } - return nil -} - -func (m *ResponseQuery) GetProof() []byte { - if m != nil { - return m.Proof - } - return nil -} - func (m *ResponseQuery) GetHeight() uint64 { if m != nil { return m.Height @@ -1472,28 +1328,21 @@ func (m *ResponseQuery) GetLog() string { } type ResponseCommit struct { - Code CodeType `protobuf:"varint,1,opt,name=code,enum=types.CodeType" json:"code,omitempty"` - Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` - Log string `protobuf:"bytes,3,opt,name=log" json:"log,omitempty"` + Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Data github_com_tendermint_go_wire_data.Bytes `protobuf:"bytes,2,opt,name=data,proto3,customtype=github.com/tendermint/go-wire/data.Bytes" json:"data"` + Log string `protobuf:"bytes,3,opt,name=log,proto3" json:"log,omitempty"` } func (m *ResponseCommit) Reset() { *m = ResponseCommit{} } func (m *ResponseCommit) String() string { return proto.CompactTextString(m) } func (*ResponseCommit) ProtoMessage() {} -func (*ResponseCommit) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } +func (*ResponseCommit) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{21} } -func (m *ResponseCommit) GetCode() CodeType { +func (m *ResponseCommit) GetCode() uint32 { if m != nil { return m.Code } - return CodeType_OK -} - -func (m *ResponseCommit) GetData() []byte { - if m != nil { - return m.Data - } - return nil + return 0 } func (m *ResponseCommit) GetLog() string { @@ -1509,7 +1358,7 @@ type ResponseInitChain struct { func (m *ResponseInitChain) Reset() { *m = ResponseInitChain{} } func (m *ResponseInitChain) String() string { return proto.CompactTextString(m) } func (*ResponseInitChain) ProtoMessage() {} -func (*ResponseInitChain) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} } +func (*ResponseInitChain) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{22} } type ResponseBeginBlock struct { } @@ -1517,7 +1366,7 @@ type ResponseBeginBlock struct { func (m *ResponseBeginBlock) Reset() { *m = ResponseBeginBlock{} } func (m *ResponseBeginBlock) String() string { return proto.CompactTextString(m) } func (*ResponseBeginBlock) ProtoMessage() {} -func (*ResponseBeginBlock) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } +func (*ResponseBeginBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{23} } type ResponseEndBlock struct { Diffs []*Validator `protobuf:"bytes,1,rep,name=diffs" json:"diffs,omitempty"` @@ -1526,7 +1375,7 @@ type ResponseEndBlock struct { func (m *ResponseEndBlock) Reset() { *m = ResponseEndBlock{} } func (m *ResponseEndBlock) String() string { return proto.CompactTextString(m) } func (*ResponseEndBlock) ProtoMessage() {} -func (*ResponseEndBlock) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} } +func (*ResponseEndBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{24} } func (m *ResponseEndBlock) GetDiffs() []*Validator { if m != nil { @@ -1536,10 +1385,10 @@ func (m *ResponseEndBlock) GetDiffs() []*Validator { } type Header struct { - ChainId string `protobuf:"bytes,1,opt,name=chain_id,json=chainId" json:"chain_id,omitempty"` - Height uint64 `protobuf:"varint,2,opt,name=height" json:"height,omitempty"` - Time uint64 `protobuf:"varint,3,opt,name=time" json:"time,omitempty"` - NumTxs uint64 `protobuf:"varint,4,opt,name=num_txs,json=numTxs" json:"num_txs,omitempty"` + ChainId string `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` + Time uint64 `protobuf:"varint,3,opt,name=time,proto3" json:"time,omitempty"` + NumTxs uint64 `protobuf:"varint,4,opt,name=num_txs,json=numTxs,proto3" json:"num_txs,omitempty"` LastBlockId *BlockID `protobuf:"bytes,5,opt,name=last_block_id,json=lastBlockId" json:"last_block_id,omitempty"` LastCommitHash []byte `protobuf:"bytes,6,opt,name=last_commit_hash,json=lastCommitHash,proto3" json:"last_commit_hash,omitempty"` DataHash []byte `protobuf:"bytes,7,opt,name=data_hash,json=dataHash,proto3" json:"data_hash,omitempty"` @@ -1550,7 +1399,7 @@ type Header struct { func (m *Header) Reset() { *m = Header{} } func (m *Header) String() string { return proto.CompactTextString(m) } func (*Header) ProtoMessage() {} -func (*Header) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} } +func (*Header) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{25} } func (m *Header) GetChainId() string { if m != nil { @@ -1623,7 +1472,7 @@ type BlockID struct { func (m *BlockID) Reset() { *m = BlockID{} } func (m *BlockID) String() string { return proto.CompactTextString(m) } func (*BlockID) ProtoMessage() {} -func (*BlockID) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} } +func (*BlockID) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{26} } func (m *BlockID) GetHash() []byte { if m != nil { @@ -1640,14 +1489,14 @@ func (m *BlockID) GetParts() *PartSetHeader { } type PartSetHeader struct { - Total uint64 `protobuf:"varint,1,opt,name=total" json:"total,omitempty"` + Total uint64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"` } func (m *PartSetHeader) Reset() { *m = PartSetHeader{} } func (m *PartSetHeader) String() string { return proto.CompactTextString(m) } func (*PartSetHeader) ProtoMessage() {} -func (*PartSetHeader) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} } +func (*PartSetHeader) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{27} } func (m *PartSetHeader) GetTotal() uint64 { if m != nil { @@ -1665,13 +1514,13 @@ func (m *PartSetHeader) GetHash() []byte { type Validator struct { PubKey []byte `protobuf:"bytes,1,opt,name=pubKey,proto3" json:"pubKey,omitempty"` - Power uint64 `protobuf:"varint,2,opt,name=power" json:"power,omitempty"` + Power uint64 `protobuf:"varint,2,opt,name=power,proto3" json:"power,omitempty"` } func (m *Validator) Reset() { *m = Validator{} } func (m *Validator) String() string { return proto.CompactTextString(m) } func (*Validator) ProtoMessage() {} -func (*Validator) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} } +func (*Validator) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{28} } func (m *Validator) GetPubKey() []byte { if m != nil { @@ -1688,16 +1537,16 @@ func (m *Validator) GetPower() uint64 { } type KVPair struct { - Key string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` - ValueType KVPair_Type `protobuf:"varint,2,opt,name=value_type,json=valueType,enum=types.KVPair_Type" json:"value_type,omitempty"` - ValueString string `protobuf:"bytes,3,opt,name=value_string,json=valueString" json:"value_string,omitempty"` - ValueInt int64 `protobuf:"varint,4,opt,name=value_int,json=valueInt" json:"value_int,omitempty"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + ValueType KVPair_Type `protobuf:"varint,2,opt,name=value_type,json=valueType,proto3,enum=types.KVPair_Type" json:"value_type,omitempty"` + ValueString string `protobuf:"bytes,3,opt,name=value_string,json=valueString,proto3" json:"value_string,omitempty"` + ValueInt int64 `protobuf:"varint,4,opt,name=value_int,json=valueInt,proto3" json:"value_int,omitempty"` } func (m *KVPair) Reset() { *m = KVPair{} } func (m *KVPair) String() string { return proto.CompactTextString(m) } func (*KVPair) ProtoMessage() {} -func (*KVPair) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} } +func (*KVPair) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{29} } func (m *KVPair) GetKey() string { if m != nil { @@ -1758,7 +1607,6 @@ func init() { proto.RegisterType((*PartSetHeader)(nil), "types.PartSetHeader") proto.RegisterType((*Validator)(nil), "types.Validator") proto.RegisterType((*KVPair)(nil), "types.KVPair") - proto.RegisterEnum("types.CodeType", CodeType_name, CodeType_value) proto.RegisterEnum("types.KVPair_Type", KVPair_Type_name, KVPair_Type_value) } @@ -2164,118 +2012,101 @@ var _ABCIApplication_serviceDesc = grpc.ServiceDesc{ Metadata: "types/types.proto", } -func init() { proto.RegisterFile("types/types.proto", fileDescriptor0) } - -var fileDescriptor0 = []byte{ - // 1755 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x49, 0x6f, 0xdb, 0xce, - 0x15, 0x37, 0x25, 0x6a, 0x7b, 0x96, 0x65, 0x7a, 0x2c, 0xdb, 0xb2, 0xd2, 0x43, 0xc2, 0x22, 0x8d, - 0x9d, 0xa6, 0x4e, 0xeb, 0x20, 0x45, 0xdc, 0x14, 0x05, 0xbc, 0xc5, 0x16, 0x82, 0x3a, 0x2e, 0xed, - 0xe4, 0xd2, 0x83, 0x40, 0x8b, 0x23, 0x69, 0x6a, 0x69, 0xc8, 0x90, 0x43, 0x47, 0xee, 0xa9, 0xbd, - 0xe7, 0xde, 0x8f, 0x50, 0xa0, 0xc7, 0x02, 0xfd, 0x0a, 0x05, 0xfe, 0xfb, 0xf2, 0x89, 0xfe, 0x98, - 0x85, 0xab, 0xa9, 0xe0, 0x7f, 0xc8, 0x85, 0x98, 0xb7, 0xcd, 0xbc, 0x99, 0x79, 0xef, 0xf7, 0x1e, - 0x07, 0x56, 0xd8, 0xad, 0x87, 0x83, 0xa7, 0xe2, 0xbb, 0xe3, 0xf9, 0x2e, 0x73, 0x51, 0x45, 0x10, - 0xe6, 0xff, 0x75, 0xa8, 0x59, 0xf8, 0x7d, 0x88, 0x03, 0x86, 0xb6, 0x40, 0xc7, 0x83, 0xb1, 0xdb, - 0xd1, 0xee, 0x6b, 0x5b, 0x8b, 0xbb, 0x68, 0x47, 0xaa, 0x2b, 0xe9, 0xf1, 0x60, 0xec, 0x9e, 0x2e, - 0x58, 0x42, 0x03, 0xfd, 0x1a, 0x2a, 0xc3, 0x49, 0x18, 0x8c, 0x3b, 0x25, 0xa1, 0xba, 0x9a, 0x55, - 0x7d, 0xc5, 0x45, 0xa7, 0x0b, 0x96, 0xd4, 0xe1, 0xd3, 0x12, 0x3a, 0x74, 0x3b, 0xe5, 0xa2, 0x69, - 0x7b, 0x74, 0x28, 0xa6, 0xe5, 0x1a, 0xe8, 0x05, 0x40, 0x80, 0x59, 0xdf, 0xf5, 0x18, 0x71, 0x69, - 0x47, 0x17, 0xfa, 0x1b, 0x59, 0xfd, 0x0b, 0xcc, 0xde, 0x08, 0xf1, 0xe9, 0x82, 0xd5, 0x08, 0x22, - 0x82, 0x5b, 0x3a, 0x78, 0x42, 0x6e, 0xb0, 0xdf, 0x67, 0xb3, 0x4e, 0xa5, 0xc8, 0xf2, 0x48, 0xca, - 0x2f, 0x67, 0xdc, 0xd2, 0x89, 0x08, 0xb4, 0x0b, 0xf5, 0xc1, 0x18, 0x0f, 0xae, 0xb9, 0x5d, 0x55, - 0xd8, 0xad, 0x65, 0xed, 0x0e, 0xb9, 0x54, 0x58, 0xd5, 0x06, 0x72, 0x88, 0x76, 0xa0, 0x3a, 0x70, - 0xa7, 0x53, 0xc2, 0x3a, 0x35, 0x61, 0xd1, 0xce, 0x59, 0x08, 0xd9, 0xe9, 0x82, 0xa5, 0xb4, 0xf8, - 0x71, 0xbd, 0x0f, 0xb1, 0x7f, 0xdb, 0xa9, 0x17, 0x1d, 0xd7, 0x5f, 0xb8, 0x88, 0x1f, 0x97, 0xd0, - 0xe1, 0x5b, 0x21, 0x94, 0xb0, 0xfe, 0x60, 0x6c, 0x13, 0xda, 0x69, 0x14, 0x6d, 0xa5, 0x47, 0x09, - 0x3b, 0xe4, 0x62, 0xbe, 0x15, 0x12, 0x11, 0xe8, 0x25, 0x2c, 0x5e, 0xe1, 0x11, 0xa1, 0xfd, 0xab, - 0x89, 0x3b, 0xb8, 0xee, 0x80, 0x30, 0xed, 0x64, 0x4d, 0x0f, 0xb8, 0xc2, 0x01, 0x97, 0x9f, 0x2e, - 0x58, 0x70, 0x15, 0x53, 0xe8, 0x39, 0x34, 0x30, 0x75, 0x94, 0xe9, 0xa2, 0x30, 0x5d, 0xcf, 0x45, - 0x00, 0x75, 0x22, 0xc3, 0x3a, 0x56, 0xe3, 0x83, 0x1a, 0x54, 0x6e, 0xec, 0x49, 0x88, 0xcd, 0x47, - 0xb0, 0x98, 0x8a, 0x14, 0xd4, 0x81, 0xda, 0x14, 0x07, 0x81, 0x3d, 0xc2, 0x22, 0x9c, 0x1a, 0x56, - 0x44, 0x9a, 0x2d, 0x68, 0xa6, 0xe3, 0x24, 0x65, 0xc8, 0x63, 0x81, 0x1b, 0xde, 0x60, 0x3f, 0xe0, - 0x01, 0xa0, 0x0c, 0x15, 0x69, 0xfe, 0x01, 0x8c, 0x7c, 0x10, 0x20, 0x03, 0xca, 0xd7, 0xf8, 0x56, - 0x69, 0xf2, 0x21, 0x6a, 0x2b, 0x87, 0x44, 0x68, 0x36, 0x2c, 0xe5, 0x9d, 0x19, 0xdb, 0xc6, 0x61, - 0x80, 0x5a, 0x50, 0x62, 0x33, 0x61, 0xda, 0xb4, 0x4a, 0x6c, 0x66, 0xde, 0x87, 0x56, 0xf6, 0xca, - 0xef, 0x68, 0x38, 0xb1, 0xeb, 0xe2, 0xce, 0x10, 0x02, 0xdd, 0xb1, 0x99, 0xad, 0x34, 0xc4, 0x98, - 0xf3, 0x3c, 0x9b, 0x8d, 0xd5, 0xf2, 0x62, 0x8c, 0xd6, 0xa1, 0x3a, 0xc6, 0x64, 0x34, 0x66, 0x22, - 0x07, 0x74, 0x4b, 0x51, 0xdc, 0x57, 0xcf, 0x77, 0x6f, 0xb0, 0x08, 0xf5, 0xba, 0x25, 0x09, 0x73, - 0x19, 0x96, 0x32, 0x81, 0x64, 0x1e, 0xc5, 0xce, 0xc7, 0x17, 0x8f, 0x7e, 0x0b, 0x70, 0x63, 0x4f, - 0x88, 0x63, 0x33, 0xd7, 0x0f, 0x3a, 0xda, 0xfd, 0xf2, 0xd6, 0xe2, 0xae, 0xa1, 0xee, 0xeb, 0x5d, - 0x24, 0xb0, 0x52, 0x3a, 0xe6, 0x19, 0xac, 0xdc, 0x89, 0x01, 0xee, 0xed, 0xd8, 0x0e, 0xc6, 0xd1, - 0x0e, 0xf8, 0x18, 0x3d, 0xe4, 0xde, 0xda, 0x0e, 0xf6, 0x55, 0x76, 0x2f, 0xa9, 0x69, 0x4f, 0x05, - 0xd3, 0x52, 0x42, 0x73, 0x1b, 0x96, 0x73, 0x81, 0x91, 0xda, 0xa7, 0x96, 0xde, 0xa7, 0xf9, 0xb1, - 0x02, 0x75, 0x0b, 0x07, 0x9e, 0x4b, 0x03, 0x8c, 0x5e, 0x40, 0x03, 0xcf, 0x06, 0x58, 0xe6, 0xb8, - 0x96, 0x8b, 0x51, 0xa9, 0x73, 0x1c, 0xc9, 0x79, 0x7c, 0xc7, 0xca, 0x68, 0x5b, 0xe1, 0x53, 0x1e, - 0x74, 0x94, 0x51, 0x1a, 0xa0, 0x9e, 0x44, 0x00, 0x55, 0xce, 0x25, 0xa8, 0xd4, 0xcd, 0x21, 0xd4, - 0xb6, 0x42, 0x28, 0xbd, 0x70, 0xe2, 0x0c, 0x44, 0xed, 0x65, 0x20, 0xaa, 0x52, 0xe8, 0xfe, 0x1c, - 0x8c, 0xda, 0xcb, 0x60, 0x54, 0xb5, 0xd0, 0x74, 0x0e, 0x48, 0x3d, 0x4b, 0x81, 0x54, 0x2d, 0x97, - 0x9b, 0xd2, 0xb0, 0x00, 0xa5, 0x9e, 0xc6, 0x28, 0x55, 0xcf, 0xe1, 0x9a, 0x32, 0xc9, 0xc3, 0xd4, - 0x93, 0x08, 0xa6, 0x1a, 0x85, 0x87, 0x96, 0xc3, 0xa9, 0xbd, 0x0c, 0x4e, 0x41, 0xe1, 0x76, 0xe6, - 0x00, 0xd5, 0x1f, 0xb3, 0x40, 0x25, 0xd1, 0x66, 0x33, 0x67, 0x3b, 0x17, 0xa9, 0x7e, 0x9f, 0x46, - 0xaa, 0x66, 0x0e, 0x1f, 0x55, 0x2c, 0x7c, 0x12, 0xaa, 0xb6, 0x79, 0x26, 0xe4, 0x22, 0x8d, 0xe7, - 0x22, 0xf6, 0x7d, 0xd7, 0x57, 0x58, 0x22, 0x09, 0x73, 0x8b, 0x67, 0x7c, 0x12, 0x5f, 0x9f, 0x80, - 0x35, 0x91, 0xb5, 0xa9, 0xe8, 0x32, 0xff, 0xa5, 0x25, 0xb6, 0x02, 0xd9, 0xd2, 0x68, 0xd1, 0x50, - 0x68, 0x91, 0x42, 0xbb, 0x52, 0x06, 0xed, 0xd0, 0x63, 0x58, 0x99, 0xd8, 0x01, 0x93, 0xdb, 0xec, - 0x67, 0xe0, 0x63, 0x99, 0x0b, 0xe4, 0xfe, 0x24, 0x8e, 0xfc, 0x06, 0x56, 0x53, 0xba, 0xb6, 0xe7, - 0xf5, 0x45, 0x52, 0xeb, 0x22, 0xa9, 0x8d, 0x58, 0x7b, 0xdf, 0xf3, 0x4e, 0xed, 0x60, 0x6c, 0x3e, - 0x4c, 0xf6, 0x9f, 0x41, 0xd2, 0x89, 0x3b, 0x8a, 0x90, 0x74, 0xe2, 0x8e, 0xcc, 0x7f, 0x6a, 0x89, - 0x5e, 0x82, 0x9a, 0xbf, 0x04, 0x7d, 0xe0, 0x3a, 0x72, 0xfb, 0xad, 0xdd, 0x65, 0x75, 0xf0, 0x87, - 0xae, 0x83, 0x2f, 0x6f, 0x3d, 0x6c, 0x09, 0x61, 0xbc, 0xd5, 0x52, 0x0a, 0x18, 0xd5, 0x02, 0xe5, - 0x78, 0x01, 0xf4, 0x00, 0x74, 0x66, 0x8f, 0x82, 0x8e, 0x2e, 0xd0, 0x2b, 0x82, 0x99, 0xd7, 0xef, - 0xce, 0x6d, 0xe2, 0x5b, 0x42, 0x64, 0xfe, 0x43, 0xe3, 0x28, 0x93, 0x09, 0xf1, 0xcf, 0xe9, 0x81, - 0x01, 0xe5, 0x91, 0x1d, 0x88, 0x83, 0xd2, 0x2d, 0x3e, 0xe4, 0x9c, 0x21, 0xc6, 0x22, 0xb1, 0x75, - 0x8b, 0x0f, 0xcd, 0xff, 0x6a, 0xc9, 0xcd, 0x4a, 0xd8, 0xff, 0x59, 0x0e, 0xb4, 0xa1, 0x42, 0xa8, - 0x83, 0x67, 0xc2, 0x83, 0xb2, 0x25, 0x89, 0xa8, 0x5e, 0x95, 0x85, 0x57, 0xd9, 0x7a, 0x25, 0x6f, - 0x4b, 0x12, 0xaa, 0x32, 0xb8, 0x43, 0xe1, 0x48, 0xd3, 0x92, 0x44, 0x0a, 0x5f, 0xab, 0x99, 0x3a, - 0xa2, 0x36, 0x56, 0x4b, 0xee, 0xee, 0xaf, 0xbc, 0x96, 0xa5, 0xd3, 0xfc, 0x33, 0x9e, 0x9a, 0xb9, - 0x9a, 0xc4, 0x45, 0x9c, 0xe0, 0x66, 0x1b, 0xd0, 0xdd, 0xcc, 0x95, 0x35, 0x3b, 0x9b, 0x93, 0xe8, - 0x57, 0x50, 0x71, 0xc8, 0x70, 0x38, 0xbf, 0x6a, 0x49, 0xb1, 0xf9, 0xef, 0x12, 0x54, 0x65, 0xcd, - 0x41, 0x9b, 0x1c, 0xff, 0x6c, 0x42, 0xfb, 0xc4, 0x89, 0xf2, 0x4e, 0xd0, 0x3d, 0x27, 0x75, 0x26, - 0xa5, 0xcc, 0x99, 0x20, 0xd0, 0x19, 0x99, 0x62, 0x95, 0x32, 0x62, 0x8c, 0x36, 0xa0, 0x46, 0xc3, - 0x69, 0x9f, 0xcd, 0xa2, 0x2b, 0xaf, 0xd2, 0x70, 0x7a, 0x39, 0x0b, 0xd0, 0x2e, 0x2c, 0xa5, 0x12, - 0x88, 0x38, 0x0a, 0xd8, 0x5b, 0xca, 0x35, 0xe1, 0x77, 0xef, 0xc8, 0x5a, 0x8c, 0x53, 0xa9, 0xe7, - 0xa0, 0x2d, 0x10, 0x99, 0xd5, 0x97, 0xe0, 0x29, 0x33, 0xae, 0x2a, 0xce, 0xad, 0xc5, 0xf9, 0x0a, - 0x5d, 0x79, 0x41, 0xbd, 0x07, 0x0d, 0x7e, 0x92, 0x52, 0xa5, 0x26, 0x54, 0xea, 0x9c, 0x21, 0x84, - 0x8f, 0x60, 0x39, 0x29, 0xd2, 0x52, 0xa5, 0x2e, 0x67, 0x49, 0xd8, 0x42, 0x71, 0x13, 0xea, 0x71, - 0x66, 0x37, 0x84, 0x46, 0xcd, 0x56, 0x09, 0xdd, 0x83, 0x9a, 0x72, 0xb1, 0xb0, 0xa0, 0x3f, 0x86, - 0x8a, 0x67, 0xfb, 0x2c, 0x50, 0x85, 0x33, 0xc2, 0xf5, 0x73, 0xdb, 0xe7, 0x9d, 0x94, 0x2a, 0xeb, - 0x52, 0xc5, 0xdc, 0x83, 0xa5, 0x0c, 0x9f, 0x47, 0x22, 0x73, 0x99, 0x3d, 0x51, 0x25, 0x5d, 0x12, - 0xf1, 0x32, 0xa5, 0x64, 0x19, 0x73, 0x0f, 0x1a, 0xf1, 0x1d, 0xf2, 0x6b, 0xf1, 0xc2, 0xab, 0xd7, - 0xaa, 0x37, 0x6b, 0x5a, 0x8a, 0x12, 0x81, 0xed, 0x7e, 0x50, 0xbd, 0x85, 0x6e, 0x49, 0xc2, 0xfc, - 0x8f, 0x06, 0x55, 0x99, 0xf7, 0x05, 0x1d, 0xdd, 0xef, 0x44, 0xab, 0x13, 0xe2, 0x3e, 0x77, 0x5b, - 0xd8, 0xb5, 0xe2, 0xbf, 0x08, 0x69, 0xb4, 0x23, 0x42, 0xb8, 0x21, 0xb4, 0xf8, 0x10, 0x3d, 0x80, - 0xa6, 0x34, 0x09, 0x98, 0x4f, 0x68, 0x14, 0xbc, 0x8b, 0x82, 0x77, 0x21, 0x58, 0xfc, 0x52, 0xa4, - 0x0a, 0xa1, 0x4c, 0x44, 0x43, 0xd9, 0xaa, 0x0b, 0x46, 0x8f, 0x32, 0xf3, 0x1e, 0xe8, 0x62, 0x1e, - 0x80, 0xea, 0xc5, 0xa5, 0xd5, 0x3b, 0x3b, 0x31, 0x16, 0x50, 0x0d, 0xca, 0xbd, 0xb3, 0x4b, 0x43, - 0x7b, 0xfc, 0xbf, 0x0a, 0xd4, 0xa3, 0xbc, 0x41, 0x55, 0x28, 0xbd, 0x79, 0x6d, 0x2c, 0xa0, 0x15, - 0x58, 0xea, 0x51, 0x86, 0x7d, 0x6a, 0x4f, 0x8e, 0x79, 0xe5, 0x30, 0x34, 0xce, 0x3a, 0xa6, 0x03, - 0xd7, 0x21, 0x74, 0x24, 0x59, 0x25, 0xd4, 0x84, 0xfa, 0x81, 0xed, 0x9c, 0xb9, 0x74, 0x80, 0x8d, - 0x32, 0x32, 0xa0, 0xf9, 0x96, 0xda, 0x21, 0x1b, 0xbb, 0x3e, 0xf9, 0x3b, 0x76, 0x0c, 0x1d, 0xad, - 0xc1, 0x4a, 0x8f, 0x06, 0xe1, 0x70, 0x48, 0x06, 0x04, 0x53, 0xf6, 0x2a, 0xa4, 0x4e, 0x60, 0x54, - 0x10, 0x82, 0xd6, 0x5b, 0x7a, 0x4d, 0xdd, 0x0f, 0x54, 0x75, 0x5c, 0x46, 0x15, 0x75, 0xa0, 0x7d, - 0x60, 0x07, 0xf8, 0x28, 0xf4, 0x26, 0x64, 0x60, 0x33, 0xbc, 0xef, 0x38, 0x3e, 0x0e, 0x02, 0x03, - 0xf3, 0x49, 0xb8, 0x24, 0xbb, 0xf6, 0x30, 0x32, 0xc8, 0xcc, 0x8f, 0x71, 0x60, 0x8c, 0xd0, 0x26, - 0xac, 0xdd, 0x91, 0x88, 0x95, 0xc7, 0xe8, 0x17, 0xd0, 0xc9, 0x8b, 0x4e, 0xec, 0xe0, 0xdc, 0x27, - 0x03, 0x6c, 0x10, 0xd4, 0x06, 0x43, 0x4a, 0x45, 0xa8, 0xf6, 0xa8, 0x17, 0x32, 0xe3, 0x6f, 0xd1, - 0xfa, 0x8a, 0xfb, 0x26, 0x64, 0x9c, 0x7d, 0x9d, 0x63, 0x9f, 0x8b, 0x70, 0x30, 0x26, 0x68, 0x03, - 0x56, 0x53, 0xec, 0x0b, 0xbe, 0x3f, 0x7e, 0x3a, 0xd3, 0xc4, 0x5f, 0x29, 0x20, 0x23, 0x6a, 0xb3, - 0xd0, 0xc7, 0x06, 0x45, 0xeb, 0x80, 0xb8, 0x44, 0x1d, 0x49, 0xb4, 0x71, 0x37, 0x5a, 0x41, 0xf1, - 0xd5, 0x0a, 0x5e, 0x9e, 0x3d, 0x09, 0x47, 0x84, 0x1a, 0xef, 0xd1, 0x1a, 0x18, 0x27, 0xee, 0x8d, - 0xe2, 0x1e, 0x53, 0x46, 0xd8, 0xad, 0xf1, 0x85, 0x86, 0xda, 0xb0, 0x9c, 0xb0, 0x4f, 0x7c, 0x37, - 0xf4, 0x8c, 0x2f, 0x35, 0xb4, 0x01, 0x28, 0xe1, 0x9e, 0xfb, 0xae, 0xe7, 0x06, 0xf6, 0xc4, 0xf8, - 0x4a, 0x43, 0xeb, 0xb0, 0x72, 0xe2, 0xde, 0xc4, 0xb7, 0x20, 0x0d, 0xbe, 0x8e, 0x0c, 0x62, 0xfe, - 0x9f, 0xf1, 0xf4, 0x0a, 0xfb, 0xc6, 0x37, 0x1a, 0xda, 0x84, 0x76, 0x5a, 0x10, 0xcf, 0xf5, 0xad, - 0xa6, 0x3c, 0x8a, 0x45, 0xef, 0x5c, 0x86, 0x8d, 0xef, 0x22, 0xb6, 0x3a, 0x07, 0x35, 0xd1, 0xf7, - 0x1a, 0x5a, 0x85, 0x56, 0xc2, 0x16, 0xba, 0x3f, 0x68, 0xa8, 0x0b, 0x6b, 0x19, 0x26, 0xa1, 0xa3, - 0x73, 0x9e, 0x61, 0xc6, 0x8f, 0xda, 0xee, 0xc7, 0x0a, 0x2c, 0xef, 0x1f, 0x1c, 0xf6, 0xf6, 0x3d, - 0xb9, 0x00, 0xaf, 0xfa, 0x4f, 0x41, 0x17, 0x7d, 0x4d, 0xc1, 0xcf, 0x7e, 0xb7, 0xa8, 0xc1, 0x46, - 0xbb, 0x50, 0x11, 0xed, 0x0d, 0x2a, 0xfa, 0xe7, 0xef, 0x16, 0xf6, 0xd9, 0x7c, 0x11, 0xd9, 0x00, - 0xdd, 0xfd, 0xf5, 0xef, 0x16, 0x35, 0xdb, 0xe8, 0x4f, 0xd0, 0x48, 0x1a, 0x93, 0x79, 0x0f, 0x00, - 0xdd, 0xb9, 0x6d, 0x37, 0xb7, 0x4f, 0x1a, 0x96, 0x79, 0xcf, 0x00, 0xdd, 0xb9, 0xbd, 0x37, 0x7a, - 0x01, 0xb5, 0xa8, 0xd9, 0x28, 0x7e, 0x0c, 0xe8, 0xce, 0x69, 0xbf, 0xf9, 0xf1, 0xc8, 0x1e, 0xa1, - 0xe8, 0x1f, 0xbf, 0x5b, 0xd8, 0x51, 0xa3, 0xe7, 0x50, 0x55, 0x35, 0xba, 0xf0, 0x1d, 0xa1, 0x5b, - 0xdc, 0xb7, 0xf3, 0x4d, 0x26, 0xbf, 0x83, 0xf3, 0x1e, 0x08, 0xba, 0x73, 0x3b, 0x72, 0xb4, 0x0f, - 0x90, 0xfa, 0x11, 0x9c, 0xfb, 0x4c, 0xd0, 0x9d, 0xdf, 0x97, 0xa3, 0x97, 0x50, 0x4f, 0xfe, 0xfd, - 0x8a, 0x1f, 0x0b, 0xba, 0xf3, 0x5a, 0xf3, 0xab, 0xaa, 0x78, 0x87, 0x7a, 0xf6, 0x53, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x3c, 0xa1, 0xc6, 0x00, 0x9c, 0x12, 0x00, 0x00, +func init() { proto.RegisterFile("types/types.proto", fileDescriptorTypes) } + +var fileDescriptorTypes = []byte{ + // 1485 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x8e, 0x13, 0x47, + 0x10, 0x5e, 0xdb, 0xe3, 0xbf, 0xf2, 0xfe, 0x98, 0x66, 0x03, 0xc6, 0x1c, 0x80, 0x91, 0x08, 0xbb, + 0x04, 0xd6, 0x64, 0x11, 0x11, 0x1b, 0xa2, 0x48, 0x6b, 0x16, 0x62, 0x0b, 0x89, 0x90, 0x61, 0xc5, + 0xd5, 0x1a, 0x7b, 0xda, 0xf6, 0x08, 0x7b, 0x66, 0x98, 0x69, 0x2f, 0x5e, 0x29, 0x8f, 0xc0, 0x3d, + 0xe7, 0xe4, 0x12, 0x29, 0x2f, 0x90, 0x37, 0x88, 0xf2, 0x0c, 0x39, 0xf0, 0x2c, 0x51, 0x55, 0xf7, + 0xfc, 0xee, 0x0c, 0x07, 0x0e, 0x5c, 0x56, 0x5d, 0x5d, 0xf5, 0xb5, 0xab, 0x7a, 0xaa, 0xbf, 0xaa, + 0x5a, 0xb8, 0x24, 0xce, 0x3d, 0x1e, 0xf4, 0xe8, 0xef, 0x81, 0xe7, 0xbb, 0xc2, 0x65, 0x55, 0x12, + 0xba, 0xf7, 0x67, 0xb6, 0x98, 0xaf, 0xc6, 0x07, 0x13, 0x77, 0xd9, 0x9b, 0xb9, 0x33, 0xb7, 0x47, + 0xda, 0xf1, 0x6a, 0x4a, 0x12, 0x09, 0xb4, 0x92, 0x28, 0xfd, 0x1f, 0x0d, 0xea, 0x06, 0x7f, 0xb7, + 0xe2, 0x81, 0x60, 0x7b, 0xa0, 0xf1, 0xc9, 0xdc, 0xed, 0x94, 0x6e, 0x96, 0xf6, 0x5a, 0x87, 0xec, + 0x40, 0x9e, 0xae, 0xb4, 0xcf, 0x26, 0x73, 0x77, 0xb0, 0x61, 0x90, 0x05, 0xfb, 0x06, 0xaa, 0xd3, + 0xc5, 0x2a, 0x98, 0x77, 0xca, 0x64, 0x7a, 0x39, 0x6d, 0xfa, 0x1c, 0x55, 0x83, 0x0d, 0x43, 0xda, + 0xe0, 0xb1, 0xb6, 0x33, 0x75, 0x3b, 0x95, 0xbc, 0x63, 0x87, 0xce, 0x94, 0x8e, 0x45, 0x0b, 0xf6, + 0x18, 0x20, 0xe0, 0x62, 0xe4, 0x7a, 0xc2, 0x76, 0x9d, 0x8e, 0x46, 0xf6, 0x57, 0xd3, 0xf6, 0xaf, + 0xb9, 0xf8, 0x99, 0xd4, 0x83, 0x0d, 0xa3, 0x19, 0x84, 0x02, 0x22, 0x2d, 0xbe, 0xb0, 0xcf, 0xb8, + 0x3f, 0x12, 0xeb, 0x4e, 0x35, 0x0f, 0x79, 0x22, 0xf5, 0xa7, 0x6b, 0x44, 0x5a, 0xa1, 0xc0, 0x0e, + 0xa1, 0x31, 0x99, 0xf3, 0xc9, 0x5b, 0xc4, 0xd5, 0x08, 0xf7, 0x55, 0x1a, 0xf7, 0x14, 0xb5, 0x84, + 0xaa, 0x4f, 0xe4, 0x92, 0x1d, 0x40, 0x6d, 0xe2, 0x2e, 0x97, 0xb6, 0xe8, 0xd4, 0x09, 0xb1, 0x9b, + 0x41, 0x90, 0x6e, 0xb0, 0x61, 0x28, 0x2b, 0xbc, 0xae, 0x77, 0x2b, 0xee, 0x9f, 0x77, 0x1a, 0x79, + 0xd7, 0xf5, 0x0b, 0xaa, 0xf0, 0xba, 0xc8, 0x06, 0x43, 0xb1, 0x1d, 0x5b, 0x8c, 0x26, 0x73, 0xd3, + 0x76, 0x3a, 0xcd, 0xbc, 0x50, 0x86, 0x8e, 0x2d, 0x9e, 0xa2, 0x1a, 0x43, 0xb1, 0x43, 0x81, 0x3d, + 0x81, 0xd6, 0x98, 0xcf, 0x6c, 0x67, 0x34, 0x5e, 0xb8, 0x93, 0xb7, 0x1d, 0x20, 0x68, 0x27, 0x0d, + 0xed, 0xa3, 0x41, 0x1f, 0xf5, 0x83, 0x0d, 0x03, 0xc6, 0x91, 0xc4, 0x1e, 0x41, 0x93, 0x3b, 0x96, + 0x82, 0xb6, 0x08, 0x7a, 0x25, 0x93, 0x01, 0x8e, 0x15, 0x02, 0x1b, 0x5c, 0xad, 0xfb, 0x75, 0xa8, + 0x9e, 0x99, 0x8b, 0x15, 0xd7, 0xef, 0x40, 0x2b, 0x91, 0x29, 0xac, 0x03, 0xf5, 0x25, 0x0f, 0x02, + 0x73, 0xc6, 0x29, 0x9d, 0x9a, 0x46, 0x28, 0xea, 0xdb, 0xb0, 0x99, 0xcc, 0x93, 0x04, 0x10, 0x73, + 0x01, 0x81, 0x67, 0xdc, 0x0f, 0x30, 0x01, 0x14, 0x50, 0x89, 0xfa, 0xf7, 0xd0, 0xce, 0x26, 0x01, + 0x6b, 0x43, 0xe5, 0x2d, 0x3f, 0x57, 0x96, 0xb8, 0x64, 0xbb, 0xca, 0x21, 0x4a, 0xcd, 0xa6, 0xa1, + 0xbc, 0xd3, 0x23, 0x6c, 0x94, 0x06, 0x6c, 0x1b, 0xca, 0x62, 0x4d, 0xd0, 0x4d, 0xa3, 0x2c, 0xd6, + 0xfa, 0x4d, 0xd8, 0x4e, 0x7f, 0xf2, 0x0b, 0x16, 0x56, 0xe4, 0x3a, 0x7d, 0x33, 0xc6, 0x40, 0xb3, + 0x4c, 0x61, 0x2a, 0x0b, 0x5a, 0xe3, 0x9e, 0x67, 0x8a, 0xb9, 0xfa, 0x79, 0x5a, 0xb3, 0x2b, 0x50, + 0x9b, 0x73, 0x7b, 0x36, 0x17, 0xf4, 0x06, 0x34, 0x43, 0x49, 0xe8, 0xab, 0xe7, 0xbb, 0x67, 0x9c, + 0x52, 0xbd, 0x61, 0x48, 0x41, 0xdf, 0x81, 0xad, 0x54, 0x22, 0xe9, 0x27, 0x91, 0xf3, 0xd1, 0x87, + 0x67, 0x0f, 0x00, 0xce, 0xcc, 0x85, 0x6d, 0x99, 0xc2, 0xf5, 0x83, 0x4e, 0xe9, 0x66, 0x65, 0xaf, + 0x75, 0xd8, 0x56, 0xdf, 0xeb, 0x4d, 0xa8, 0x30, 0x12, 0x36, 0xfa, 0x4b, 0xb8, 0x74, 0x21, 0x07, + 0xd0, 0xdb, 0xb9, 0x19, 0xcc, 0xc3, 0x08, 0x70, 0xcd, 0x6e, 0xa3, 0xb7, 0xa6, 0xc5, 0x7d, 0xf5, + 0xba, 0xb7, 0xd4, 0xb1, 0x03, 0xda, 0x34, 0x94, 0x52, 0xdf, 0x87, 0x9d, 0x4c, 0x62, 0x24, 0xe2, + 0x2c, 0x25, 0xe3, 0xd4, 0x3f, 0x54, 0xa1, 0x61, 0xf0, 0xc0, 0x73, 0x9d, 0x80, 0xb3, 0xc7, 0xd0, + 0xe4, 0xeb, 0x09, 0x97, 0x6f, 0xbc, 0x94, 0xc9, 0x51, 0x69, 0xf3, 0x2c, 0xd4, 0x63, 0x7e, 0x47, + 0xc6, 0x6c, 0x5f, 0xf1, 0x53, 0x96, 0x74, 0x14, 0x28, 0x49, 0x50, 0xf7, 0x42, 0x82, 0xaa, 0x64, + 0x1e, 0xa8, 0xb4, 0xcd, 0x30, 0xd4, 0xbe, 0x62, 0x28, 0x2d, 0xf7, 0xe0, 0x14, 0x45, 0x1d, 0xa5, + 0x28, 0xaa, 0x9a, 0xeb, 0x7e, 0x01, 0x47, 0x1d, 0xa5, 0x38, 0xaa, 0x96, 0x0b, 0x2d, 0x20, 0xa9, + 0x87, 0x09, 0x92, 0xaa, 0x67, 0xde, 0xa6, 0x04, 0xe6, 0xb0, 0x54, 0x2f, 0x62, 0xa9, 0x46, 0x86, + 0xd7, 0x14, 0x24, 0x4b, 0x53, 0xf7, 0x42, 0x9a, 0x6a, 0xe6, 0x5e, 0x5a, 0x86, 0xa7, 0x8e, 0x52, + 0x3c, 0x05, 0xb9, 0xe1, 0x14, 0x10, 0xd5, 0x0f, 0x69, 0xa2, 0x92, 0x6c, 0x73, 0x2d, 0x83, 0x2d, + 0x64, 0xaa, 0xef, 0x92, 0x4c, 0xb5, 0x99, 0xe1, 0x47, 0x95, 0x0b, 0x9f, 0xa4, 0xaa, 0x7d, 0x7c, + 0x09, 0x99, 0x4c, 0xc3, 0xb7, 0xc8, 0x7d, 0xdf, 0xf5, 0x15, 0x97, 0x48, 0x41, 0xdf, 0xc3, 0x17, + 0x1f, 0xe7, 0xd7, 0x27, 0x68, 0x8d, 0x5e, 0x6d, 0x22, 0xbb, 0xf4, 0xdf, 0x4a, 0x31, 0x96, 0x98, + 0x2d, 0xc9, 0x16, 0x4d, 0xc5, 0x16, 0x09, 0xb6, 0x2b, 0xa7, 0xd8, 0x8e, 0xdd, 0x85, 0x4b, 0x0b, + 0x33, 0x10, 0x32, 0xcc, 0x51, 0x8a, 0x3e, 0x76, 0x50, 0x21, 0xe3, 0x93, 0x3c, 0x72, 0x1f, 0x2e, + 0x27, 0x6c, 0x4d, 0xcf, 0x1b, 0xd1, 0xa3, 0xd6, 0xe8, 0x51, 0xb7, 0x23, 0xeb, 0x63, 0xcf, 0x1b, + 0x98, 0xc1, 0x5c, 0xbf, 0x1d, 0xc7, 0x9f, 0x62, 0xd2, 0x85, 0x3b, 0x0b, 0x99, 0x74, 0xe1, 0xce, + 0xf4, 0x3f, 0x4a, 0xb1, 0x5d, 0xcc, 0x9a, 0x0c, 0xb4, 0x89, 0x6b, 0xc9, 0xf0, 0xb7, 0x0c, 0x5a, + 0xb3, 0x13, 0x15, 0x19, 0x86, 0xb0, 0xd9, 0x7f, 0xf0, 0xef, 0xc7, 0x1b, 0x1b, 0xff, 0x7d, 0xbc, + 0xb1, 0x97, 0xe8, 0x44, 0x04, 0x77, 0x2c, 0xee, 0x2f, 0x6d, 0x47, 0xf4, 0x66, 0xee, 0xfd, 0xf7, + 0xb6, 0xcf, 0x7b, 0x88, 0x38, 0xe8, 0x9f, 0x0b, 0x1e, 0xa8, 0xbb, 0x50, 0x1e, 0x54, 0x22, 0x0f, + 0xd8, 0x2d, 0xd0, 0x84, 0x39, 0x0b, 0x3a, 0x1a, 0xd1, 0x5b, 0xc8, 0x43, 0x2f, 0xde, 0xbc, 0x32, + 0x6d, 0xdf, 0x20, 0x95, 0xfe, 0x7b, 0x09, 0x69, 0x28, 0xf5, 0x06, 0xbe, 0xa8, 0x8b, 0x6d, 0xa8, + 0xcc, 0xcc, 0x80, 0xae, 0x5a, 0x33, 0x70, 0x89, 0x3b, 0x53, 0xce, 0x89, 0x1a, 0x34, 0x03, 0x97, + 0xfa, 0xdf, 0xe5, 0x38, 0x37, 0xa2, 0xc2, 0x71, 0xc1, 0xc3, 0x5d, 0xa8, 0xda, 0x8e, 0xc5, 0xd7, + 0xe4, 0x62, 0xc5, 0x90, 0x02, 0xeb, 0xcb, 0x02, 0x57, 0xf9, 0x4c, 0xb7, 0xa9, 0x24, 0x3e, 0x0f, + 0x4b, 0xa2, 0xf6, 0x99, 0xa7, 0x48, 0x38, 0x9e, 0xe3, 0xf9, 0xae, 0x3b, 0xa5, 0xd8, 0x3e, 0xeb, + 0x1c, 0x82, 0x27, 0xca, 0x44, 0x2d, 0x55, 0x0e, 0xd5, 0xed, 0xd6, 0xe3, 0x14, 0xfc, 0x15, 0x4b, + 0x72, 0x92, 0xad, 0xbe, 0xe4, 0xb7, 0xd5, 0x2f, 0xc7, 0xf9, 0x1f, 0x11, 0x99, 0xbe, 0x0b, 0xec, + 0x22, 0x43, 0xc9, 0xde, 0x24, 0xcd, 0x3d, 0xec, 0x6b, 0xa8, 0x5a, 0xf6, 0x74, 0x5a, 0x5c, 0x9d, + 0xa5, 0x5a, 0xff, 0xb3, 0x0c, 0x35, 0x59, 0x5b, 0xd9, 0x35, 0xe4, 0x79, 0xd3, 0x76, 0x46, 0xb6, + 0x15, 0xf2, 0x0b, 0xc9, 0x43, 0x2b, 0x71, 0x69, 0xe5, 0xd4, 0xa5, 0x31, 0xd0, 0x84, 0xbd, 0xe4, + 0x8a, 0x1a, 0x68, 0xcd, 0xae, 0x42, 0xdd, 0x59, 0x2d, 0x47, 0x62, 0x1d, 0x26, 0x66, 0xcd, 0x59, + 0x2d, 0x4f, 0xd7, 0x01, 0x3b, 0x84, 0xad, 0x04, 0x51, 0xd8, 0x96, 0x2a, 0x60, 0xdb, 0xca, 0x35, + 0xf2, 0x7b, 0x78, 0x62, 0xb4, 0x22, 0xca, 0x18, 0x5a, 0x6c, 0x0f, 0x88, 0x41, 0x46, 0xb2, 0x48, + 0x48, 0x66, 0xa9, 0x11, 0xb3, 0x6c, 0xe3, 0xbe, 0xaa, 0x22, 0xd8, 0x38, 0x5c, 0x87, 0x26, 0xde, + 0xa4, 0x34, 0xa9, 0x93, 0x49, 0x03, 0x37, 0x48, 0x79, 0x07, 0x76, 0xe2, 0x66, 0x44, 0x9a, 0x34, + 0xe4, 0x29, 0xf1, 0x36, 0x19, 0x5e, 0x83, 0x46, 0xc4, 0x60, 0x4d, 0xb2, 0xa8, 0x9b, 0x8a, 0xb8, + 0x86, 0x50, 0x57, 0x2e, 0xe6, 0x36, 0x2e, 0x77, 0xa1, 0xea, 0x99, 0xbe, 0x08, 0x54, 0x83, 0x10, + 0xd6, 0xaf, 0x57, 0xa6, 0x8f, 0x1d, 0xa3, 0x6a, 0x5f, 0xa4, 0x89, 0x7e, 0x04, 0x5b, 0xa9, 0x7d, + 0x7c, 0x7e, 0xc2, 0x15, 0xe6, 0x42, 0xb5, 0x2e, 0x52, 0x88, 0x7e, 0xa6, 0x1c, 0xff, 0x8c, 0x7e, + 0x04, 0xcd, 0xe8, 0x1b, 0xe2, 0x67, 0xf1, 0x56, 0xe3, 0x17, 0xaa, 0x07, 0xdd, 0x34, 0x94, 0x44, + 0xad, 0x9d, 0xfb, 0x5e, 0xf5, 0x50, 0x9a, 0x21, 0x05, 0xfd, 0xaf, 0x12, 0xd4, 0x24, 0x7d, 0xe5, + 0x74, 0xae, 0xdf, 0x52, 0x4b, 0xb7, 0xe2, 0x23, 0x74, 0x9b, 0x70, 0xdb, 0xd1, 0xb4, 0x24, 0x41, + 0x07, 0xa7, 0xe7, 0x1e, 0x37, 0x9a, 0x64, 0x85, 0x4b, 0x76, 0x0b, 0x36, 0x25, 0x24, 0x10, 0xbe, + 0xed, 0x84, 0xc9, 0xdb, 0xa2, 0xbd, 0xd7, 0xb4, 0x85, 0x1f, 0x45, 0x9a, 0xd8, 0x8e, 0xa0, 0x6c, + 0xa8, 0x18, 0x0d, 0xda, 0x18, 0x3a, 0x42, 0xbf, 0x0e, 0x1a, 0x9d, 0x03, 0x50, 0x7b, 0x7d, 0x6a, + 0x0c, 0x5f, 0xfe, 0xd4, 0xde, 0x60, 0x75, 0xa8, 0x0c, 0x5f, 0x9e, 0xb6, 0x4b, 0x87, 0x1f, 0xaa, + 0xb0, 0x73, 0xdc, 0x7f, 0x3a, 0x3c, 0xf6, 0xbc, 0x85, 0x3d, 0x31, 0xa9, 0x4a, 0xf4, 0x40, 0xa3, + 0x3a, 0x98, 0x33, 0x1c, 0x76, 0xf3, 0x1a, 0x32, 0x76, 0x08, 0x55, 0x2a, 0x87, 0x2c, 0x6f, 0x46, + 0xec, 0xe6, 0xf6, 0x65, 0xf8, 0x23, 0xb2, 0x60, 0x5e, 0x1c, 0x15, 0xbb, 0x79, 0xcd, 0x19, 0xfb, + 0x11, 0x9a, 0x71, 0x21, 0x2b, 0x1a, 0x18, 0xbb, 0x85, 0x6d, 0x1a, 0xe2, 0xe3, 0x02, 0x57, 0x34, + 0x36, 0x76, 0x0b, 0x7b, 0x35, 0xf6, 0x18, 0xea, 0x61, 0xed, 0xc9, 0x1f, 0x1e, 0xbb, 0x05, 0xed, + 0x1a, 0x5e, 0x8f, 0xac, 0x08, 0x79, 0x33, 0x61, 0x37, 0xb7, 0x03, 0x63, 0x8f, 0xa0, 0xa6, 0xc8, + 0x30, 0x77, 0xee, 0xec, 0xe6, 0xf7, 0x79, 0x18, 0x64, 0x3c, 0x3e, 0x14, 0x0d, 0x94, 0xdd, 0xc2, + 0x0e, 0x8e, 0x1d, 0x03, 0x24, 0x06, 0x87, 0xc2, 0xb1, 0xb2, 0x5b, 0xdc, 0xc7, 0xb1, 0x27, 0xd0, + 0x88, 0x67, 0x85, 0xfc, 0xe1, 0xb2, 0x5b, 0xd4, 0xca, 0x8d, 0x6b, 0xf4, 0x0f, 0x8b, 0x87, 0xff, + 0x07, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xbb, 0x93, 0x98, 0xfb, 0x10, 0x00, 0x00, } diff --git a/types/types.proto b/types/types.proto index 7b2c75e32..2754a3624 100644 --- a/types/types.proto +++ b/types/types.proto @@ -1,50 +1,10 @@ syntax = "proto3"; package types; -// This file is copied from http://github.com/tendermint/abci +import "github.com/gogo/protobuf/gogoproto/gogo.proto"; -//---------------------------------------- -// Code types - -enum CodeType { - OK = 0; - - // General response codes, 0 ~ 99 - InternalError = 1; - EncodingError = 2; - BadNonce = 3; - Unauthorized = 4; - InsufficientFunds = 5; - UnknownRequest = 6; - - // Reserved for basecoin, 100 ~ 199 - BaseDuplicateAddress = 101; - BaseEncodingError = 102; - BaseInsufficientFees = 103; - BaseInsufficientFunds = 104; - BaseInsufficientGasPrice = 105; - BaseInvalidInput = 106; - BaseInvalidOutput = 107; - BaseInvalidPubKey = 108; - BaseInvalidSequence = 109; - BaseInvalidSignature = 110; - BaseUnknownAddress = 111; - BaseUnknownPubKey = 112; - BaseUnknownPlugin = 113; - - // Reserved for governance, 200 ~ 299 - GovUnknownEntity = 201; - GovUnknownGroup = 202; - GovUnknownProposal = 203; - GovDuplicateGroup = 204; - GovDuplicateMember = 205; - GovDuplicateProposal = 206; - GovDuplicateVote = 207; - GovInvalidMember = 208; - GovInvalidVote = 209; - GovInvalidVotingPower = 210; -} +// This file is copied from http://github.com/tendermint/abci //---------------------------------------- // Request types @@ -156,33 +116,33 @@ message ResponseSetOption{ } message ResponseDeliverTx{ - CodeType code = 1; - bytes data = 2; + uint32 code = 1; + bytes data = 2 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; string log = 3; repeated KVPair tags = 4; } message ResponseCheckTx{ - CodeType code = 1; - bytes data = 2; + uint32 code = 1; + bytes data = 2 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; string log = 3; uint64 gas = 4; uint64 fee = 5; } message ResponseQuery{ - CodeType code = 1; + uint32 code = 1; int64 index = 2; - bytes key = 3; - bytes value = 4; - bytes proof = 5; + bytes key = 3 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; + bytes value = 4 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; + bytes proof = 5 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; uint64 height = 6; string log = 7; } message ResponseCommit{ - CodeType code = 1; - bytes data = 2; + uint32 code = 1; + bytes data = 2 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; string log = 3; }