Cosmos-sdk: Subspace Query does not return Proof

Created on 24 Oct 2019  Â·  8Comments  Â·  Source: cosmos/cosmos-sdk

Summary of Bug

Subspace Query on IAVL store will not return proof even if request.Prove = true.

https://github.com/cosmos/cosmos-sdk/blob/master/store/iavl/store.go#L284

The Subspace query also ignores the height passed into the RequestQuery object, and will simply return the result at the latest height

Version

master: cf8816e46a42e74d087a23c4258225640b2dcc8d

Blocking

Currently blocking #5213 , specifically blocks testing BatchVerify methods in ICS-23


For Admin Use

  • [ ] Not duplicate issue
  • [ ] Appropriate labels applied
  • [ ] Appropriate contributors tagged
  • [ ] Contributor assigned/self-assigned
blocked kvstore

Most helpful comment

Removing this from required issues on IBC 1.0.0 milestone. This can be addressed separately as we still need to implement #5082 for IBC v1.0.0 which doesn't have this problem

All 8 comments

I recall this was intentional, no? In either case, what you've mentioned is true.

I don't recall discussions about it. Either way, to test batchVerifyMembership, I need a batch proof which should be retrievable from the store.Query function

Blocked on changes to Tendermint and iAVL

@AdityaSripal we need to tackle this issue this week.

Looks like the IAVL library has GetRangeWithProof and GetVersionedRangeWithProof which we can leverage. Supporting the query height should also be trivial (use the later).

Let's use the ICS 23 format here unless there are any downsides to doing so.

Removing this from required issues on IBC 1.0.0 milestone. This can be addressed separately as we still need to implement #5082 for IBC v1.0.0 which doesn't have this problem

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Was this page helpful?
0 / 5 - 0 ratings