diff --git a/cmd/abci-cli/abci-cli.go b/cmd/abci-cli/abci-cli.go index 7655a7750..bd754436d 100644 --- a/cmd/abci-cli/abci-cli.go +++ b/cmd/abci-cli/abci-cli.go @@ -79,7 +79,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 } } @@ -631,7 +631,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 } @@ -661,7 +661,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 } diff --git a/example/dummy/dummy.go b/example/dummy/dummy.go index c8fb0f376..29ba1ac64 100644 --- a/example/dummy/dummy.go +++ b/example/dummy/dummy.go @@ -6,7 +6,6 @@ import ( "github.com/tendermint/abci/example/code" "github.com/tendermint/abci/types" - wire "github.com/tendermint/go-wire" "github.com/tendermint/iavl" dbm "github.com/tendermint/tmlibs/db" ) @@ -20,7 +19,7 @@ type DummyApplication struct { } func NewDummyApplication() *DummyApplication { - state := iavl.NewVersionedTree(0, dbm.NewMemDB()) + state := iavl.NewVersionedTree(dbm.NewMemDB(), 0) return &DummyApplication{state: state} } @@ -56,9 +55,7 @@ func (app *DummyApplication) Commit() types.ResponseCommit { var err error if app.state.Size() > 0 { - // just add one more to height (kind of arbitrarily stupid) - height := app.state.LatestVersion() + 1 - hash, err = app.state.SaveVersion(height) + hash, _, err = app.state.SaveVersion() if err != nil { // if this wasn't a dummy app, we'd do something smarter panic(err) @@ -78,7 +75,7 @@ func (app *DummyApplication) Query(reqQuery types.RequestQuery) (resQuery types. resQuery.Index = -1 // TODO make Proof return index resQuery.Key = reqQuery.Data resQuery.Value = value - resQuery.Proof = wire.BinaryBytes(proof) + resQuery.Proof = proof.Bytes() if value != nil { resQuery.Log = "exists" } else { diff --git a/example/dummy/dummy_test.go b/example/dummy/dummy_test.go index 530c01c22..dd3b27791 100644 --- a/example/dummy/dummy_test.go +++ b/example/dummy/dummy_test.go @@ -41,9 +41,9 @@ func testDummy(t *testing.T, app types.Application, tx []byte, key, value string }) require.EqualValues(t, code.CodeTypeOK, resQuery.Code) require.Equal(t, value, string(resQuery.Value)) - proof, err := iavl.ReadKeyExistsProof(resQuery.Proof) + proof, err := iavl.ReadKeyProof(resQuery.Proof) require.Nil(t, err) - err = proof.Verify([]byte(key), resQuery.Value, proof.RootHash) + err = proof.Verify([]byte(key), resQuery.Value, proof.Root()) require.Nil(t, err, "%+v", err) // NOTE: we have no way to verify the RootHash } @@ -215,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 } @@ -238,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 } @@ -310,8 +310,8 @@ func testClient(t *testing.T, app abcicli.Client, tx []byte, key, value string) require.Nil(t, err) require.Equal(t, code.CodeTypeOK, resQuery.Code) require.Equal(t, value, string(resQuery.Value)) - proof, err := iavl.ReadKeyExistsProof(resQuery.Proof) + proof, err := iavl.ReadKeyProof(resQuery.Proof) require.Nil(t, err) - err = proof.Verify([]byte(key), resQuery.Value, proof.RootHash) + err = proof.Verify([]byte(key), resQuery.Value, proof.Root()) require.Nil(t, err, "%+v", err) // NOTE: we have no way to verify the RootHash } diff --git a/example/dummy/persistent_dummy.go b/example/dummy/persistent_dummy.go index 4d272246c..a41279b6e 100644 --- a/example/dummy/persistent_dummy.go +++ b/example/dummy/persistent_dummy.go @@ -40,7 +40,7 @@ func NewPersistentDummyApplication(dbDir string) *PersistentDummyApplication { panic(err) } - stateTree := iavl.NewVersionedTree(500, db) + stateTree := iavl.NewVersionedTree(db, 500) stateTree.Load() return &PersistentDummyApplication{ @@ -55,8 +55,7 @@ func (app *PersistentDummyApplication) SetLogger(l log.Logger) { func (app *PersistentDummyApplication) Info(req types.RequestInfo) types.ResponseInfo { res := app.app.Info(req) - var latestVersion uint64 = app.app.state.LatestVersion() // TODO: change to int64 - res.LastBlockHeight = int64(latestVersion) + res.LastBlockHeight = app.app.state.Version64() res.LastBlockAppHash = app.app.state.Hash() return res } @@ -87,11 +86,11 @@ func (app *PersistentDummyApplication) CheckTx(tx []byte) types.ResponseCheckTx func (app *PersistentDummyApplication) Commit() types.ResponseCommit { // Save a new version for next height - height := app.app.state.LatestVersion() + 1 + var height int64 var appHash []byte var err error - appHash, err = app.app.state.SaveVersion(height) + appHash, height, err = app.app.state.SaveVersion() if err != nil { // if this wasn't a dummy app, we'd do something smarter panic(err) diff --git a/example/example_test.go b/example/example_test.go index dfa38a398..2a93f2463 100644 --- a/example/example_test.go +++ b/example/example_test.go @@ -42,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() @@ -50,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() @@ -115,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() diff --git a/glide.lock b/glide.lock index f96fd1c08..6d22b46d1 100644 --- a/glide.lock +++ b/glide.lock @@ -1,32 +1,29 @@ -hash: 6cb2c869c8ce7d9e43b1e8930b9b1bc974ebb3d36d4b704fc78b77efba956a13 -updated: 2017-11-30T17:08:29.176515576-05:00 +hash: 2fe5021646e1cdb80999a9fe0a88a6b695409fa9891b28a97682d2782c9d26ab +updated: 2017-12-26T00:33:47.921468008-08:00 imports: - name: github.com/btcsuite/btcd - version: 2e60448ffcc6bf78332d1fe590260095f554dd78 + version: c7588cbf7690cd9f047a28efa2dcd8f2435a4e5e subpackages: - btcec - name: github.com/go-kit/kit - version: e3b2152e0063c5f05efea89ecbe297852af2a92d + version: e2b298466b32c7cd5579a9b9b07e968fc9d9452c subpackages: - log - log/level - log/term - name: github.com/go-logfmt/logfmt version: 390ab7935ee28ec6b286364bba9b4dd6410cb3d5 -- name: github.com/go-playground/locales - version: e4cbcb5d0652150d40ad0646651076b6bd2be4f6 - subpackages: - - currency -- name: github.com/go-playground/universal-translator - version: 71201497bace774495daed26a3874fd339e0b538 - name: github.com/go-stack/stack - version: 259ab82a6cad3992b4e21ff5cac294ccb06474bc + version: 817915b46b97fd7bb80e8ab6b69f01a53ac3eebf - name: github.com/gogo/protobuf version: 342cbe0a04158f6dcb03ca0079991a51a4248c02 subpackages: - gogoproto + - jsonpb - proto - protoc-gen-gogo/descriptor + - sortkeys + - types - name: github.com/golang/protobuf version: 1e59b77b52bf8e4b449a57e6f79f21226d571845 subpackages: @@ -44,13 +41,13 @@ imports: - name: github.com/kr/logfmt version: b84e30acd515aadc4b783ad4ff83aff3299bdfe0 - name: github.com/pkg/errors - version: f15c970de5b76fac0b59abb32d62c17cc7bed265 + version: 645ef00459ed84a119197bfb8d8205042c6df63d - name: github.com/spf13/cobra version: 7b2c5ac9fc04fc5efafb60700713d4fa609b777b - name: github.com/spf13/pflag version: 4c012f6dcd9546820e378d0bdda4d8fc772cdfea - name: github.com/syndtr/goleveldb - version: adf24ef3f94bd13ec4163060b21a5678f22b429b + version: b89cc31ef7977104127d34c1bd31ebd1a9db2199 subpackages: - leveldb - leveldb/cache @@ -70,22 +67,22 @@ imports: - edwards25519 - extra25519 - name: github.com/tendermint/go-crypto - version: b4f04f196cd719660e43b91202cd60d9a95b1837 + version: 9472476a8b5814d42b96881e28a01536acfdabb3 - name: github.com/tendermint/go-wire - version: 5ab49b4c6ad674da6b81442911cf713ef0afb544 + version: 27be46e25124ddf775e23317a83647ce62a93f6b subpackages: - data - name: github.com/tendermint/iavl - version: 595f3dcd5b6cd4a292e90757ae6d367fd7a6e653 + version: 7f42f4ea5187ac0184ded22a038e77faba035606 - name: github.com/tendermint/tmlibs - version: 21fb7819891997c96838308b4eba5a50b07ff03f + version: 6ec8c1602f22f41fc320da05c3a80acebf2c23bd subpackages: - common - db - log - process - name: golang.org/x/crypto - version: 94eea52f7b742c7cbe0b03b22f0c4c8631ece122 + version: edd5e9b0879d13ee6970a50153d85b8fec9f7686 subpackages: - nacl/secretbox - openpgp/armor @@ -94,7 +91,7 @@ imports: - ripemd160 - salsa20/salsa - name: golang.org/x/net - version: a8b9294777976932365dabb6640cf1468d95c70f + version: d866cfc389cec985d6fda2859936a575a55a3ab6 subpackages: - context - http2 @@ -111,7 +108,7 @@ imports: - unicode/bidi - unicode/norm - name: google.golang.org/genproto - version: 7f0da29060c682909f650ad8ed4e515bd74fa12a + version: a8101f21cf983e773d0c1133ebc5424792003214 subpackages: - googleapis/rpc/status - name: google.golang.org/grpc @@ -133,11 +130,9 @@ imports: - status - tap - transport -- name: gopkg.in/go-playground/validator.v9 - version: 61caf9d3038e1af346dbf5c2e16f6678e1548364 testImports: - name: github.com/davecgh/go-spew - version: 04cdfd42973bb9c8589fd6a731800cf222fde1a9 + version: 6d212800a42e8ab5c146b8ace3490ee17e5225f9 subpackages: - spew - name: github.com/pmezard/go-difflib @@ -145,7 +140,7 @@ testImports: subpackages: - difflib - name: github.com/stretchr/testify - version: 2aa2c176b9dab406a6970f6a55f513e8a8c8b18f + version: 69483b4bd14f5845b5a1e55bca19e954e827f1d0 subpackages: - assert - require diff --git a/glide.yaml b/glide.yaml index 88f49dde4..1fd8c7921 100644 --- a/glide.yaml +++ b/glide.yaml @@ -7,15 +7,15 @@ import: - package: github.com/spf13/cobra version: v0.0.1 - package: github.com/tendermint/go-crypto - version: develop + version: sdk2 - package: github.com/tendermint/go-wire version: develop subpackages: - data - package: github.com/tendermint/iavl - version: develop + version: sdk2 - package: github.com/tendermint/tmlibs - version: develop + version: sdk2 subpackages: - common - db diff --git a/tests/client_server_test.go b/tests/client_server_test.go index 3d74478bc..d354fc058 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 f04036216..d55fb1601 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()) }