diff --git a/client/decoder.go b/client/decoder.go index 330ee32d65..f850facdc4 100644 --- a/client/decoder.go +++ b/client/decoder.go @@ -6,7 +6,7 @@ import ( ) func DecodeData(data []byte) (pairs []types.StoreKVPair, err error) { - offset := 0 + offset := 8 for offset < len(data) { size, n := proto.DecodeVarint(data[offset:]) offset += n diff --git a/versiondb/tmdb/store_test.go b/versiondb/tmdb/store_test.go index 1a4a350c29..3ea5a9d660 100644 --- a/versiondb/tmdb/store_test.go +++ b/versiondb/tmdb/store_test.go @@ -6,6 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/crypto-org-chain/cronos/client" "github.com/crypto-org-chain/cronos/versiondb" "github.com/crypto-org-chain/cronos/x/cronos/types" @@ -35,7 +36,9 @@ func TestFeed(t *testing.T) { _, err = buf.Write(bz) require.NoError(t, err) } - pairs, err := client.DecodeData(buf.Bytes()) + data := buf.Bytes() + prefix := sdk.Uint64ToBigEndian(uint64(len(data))) + pairs, err := client.DecodeData(append(prefix, data...)) require.NoError(t, err) require.NotEmpty(t, pairs) store := storeCreator()