diff --git a/CHANGELOG.md b/CHANGELOG.md index 97b4a6cf..4c9c9e79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,19 +30,25 @@ BUG FIXES: ## 0.13.0 (TBA) BREAKING CHANGES: -- types: EventBus and EventBuffer have replaced EventSwitch and EventCache; event types have been overhauled +- abci: update to v0.8 using gogo/protobuf; includes tx tags, vote info in RequestBeginBlock, data.Bytes everywhere, use int64, etc. +- types: block heights are now `int64` everywhere +- types & node: EventSwitch and EventCache have been replaced by EventBus and EventBuffer; event types have been overhauled - node: EventSwitch methods now refer to EventBus - rpc/lib/types: RPCResponse is no longer a pointer; WSRPCConnection interface has been modified - rpc/client: WaitForOneEvent takes an EventsClient instead of types.EventSwitch - rpc/client: Add/RemoveListenerForEvent are now Subscribe/Unsubscribe +- rpc: `/subscribe` and `/unsubscribe` take `query` arg instead of `event` +- mempool: cached transactions return an error instead of an ABCI response with BadNonce FEATURES: - rpc: new `/unsubscribe_all` WebSocket RPC endpoint +- rpc: new `/tx_search` endpoint for filtering transactions by more complex queries - p2p/trust: new trust metric for tracking peers. See ADR-006 +- config: TxIndexConfig allows to set what DeliverTx tags to index IMPROVEMENTS: - New asynchronous events system using `tmlibs/pubsub` -- logging: Various small improvements +- logging: Various small improvements - consensus: Graceful shutdown when app crashes - tests: Fix various non-deterministic errors - p2p: more defensive programming diff --git a/glide.lock b/glide.lock index fbf4b326..f637dcce 100644 --- a/glide.lock +++ b/glide.lock @@ -1,5 +1,5 @@ -hash: b0397f8c86e8131753fce91514314fe871ffb2562452a9f2125dbcd3cea600c8 -updated: 2017-12-02T23:34:41.775549968-05:00 +hash: 09fc7f59ca6b718fe236368bb55f4801455295cfe455ea5865d544ee4dcfdc08 +updated: 2017-12-06T02:43:52.419328535-05:00 imports: - name: github.com/btcsuite/btcd version: 2e60448ffcc6bf78332d1fe590260095f554dd78 @@ -29,8 +29,11 @@ imports: version: 342cbe0a04158f6dcb03ca0079991a51a4248c02 subpackages: - gogoproto + - jsonpb - proto - protoc-gen-gogo/descriptor + - sortkeys + - types - name: github.com/golang/protobuf version: 1e59b77b52bf8e4b449a57e6f79f21226d571845 subpackages: @@ -100,7 +103,7 @@ imports: - leveldb/table - leveldb/util - name: github.com/tendermint/abci - version: 48413b4839781c5c4bf96049a4b39f210ceb88c3 + version: 12dca48768bbc0ac0f345a8505166874daf1f8ec subpackages: - client - example/code @@ -116,17 +119,17 @@ imports: - name: github.com/tendermint/go-crypto version: dd20358a264c772b4a83e477b0cfce4c88a7001d - name: github.com/tendermint/go-wire - version: 217a3c439f6497890d232ff5ed24084b43d9bfb3 + version: b6fc872b42d41158a60307db4da051dd6f179415 subpackages: - data - data/base58 - - nowriter/tmencoding + - nowriter/tmlegacy - name: github.com/tendermint/iavl version: 594cc0c062a7174475f0ab654384038d77067917 subpackages: - iavl - name: github.com/tendermint/tmlibs - version: 21fb7819891997c96838308b4eba5a50b07ff03f + version: bfcc0217f120d3bee6730ba0789d2eb72fc2e889 subpackages: - autofile - cli diff --git a/glide.yaml b/glide.yaml index d0221d1a..3f20a468 100644 --- a/glide.yaml +++ b/glide.yaml @@ -18,7 +18,7 @@ import: - package: github.com/spf13/viper version: v1.0.0 - package: github.com/tendermint/abci - version: develop + version: ~v0.8.0 subpackages: - client - example/dummy @@ -26,7 +26,7 @@ import: - package: github.com/tendermint/go-crypto version: ~0.4.1 - package: github.com/tendermint/go-wire - version: develop + version: ~0.7.2 subpackages: - data - package: github.com/tendermint/iavl @@ -34,7 +34,7 @@ import: subpackages: - iavl - package: github.com/tendermint/tmlibs - version: develop + version: ~0.5.0 subpackages: - autofile - cli diff --git a/rpc/core/tx.go b/rpc/core/tx.go index d0ff6840..f592326b 100644 --- a/rpc/core/tx.go +++ b/rpc/core/tx.go @@ -84,13 +84,12 @@ func Tx(hash []byte, prove bool) (*ctypes.ResultTx, error) { } height := r.Height - index := int(r.Index) // XXX:overflow + index := r.Index var proof types.TxProof if prove { block := blockStore.LoadBlock(height) - // TODO: handle overflow - proof = block.Data.Txs.Proof(index) + proof = block.Data.Txs.Proof(int(index)) // XXX: overflow on 32-bit machines } return &ctypes.ResultTx{ @@ -188,8 +187,7 @@ func TxSearch(query string, prove bool) ([]*ctypes.ResultTx, error) { if prove { block := blockStore.LoadBlock(height) - // TODO: handle overflow - proof = block.Data.Txs.Proof(int(index)) + proof = block.Data.Txs.Proof(int(index)) // XXX: overflow on 32-bit machines } apiResults[i] = &ctypes.ResultTx{