diff --git a/app/store.go b/app/store.go index 329b63516b..efb5471ca1 100644 --- a/app/store.go +++ b/app/store.go @@ -180,12 +180,18 @@ func (s *Store) Query(reqQuery abci.RequestQuery) (resQuery abci.ResponseQuery) key := reqQuery.Data // Data holds the key bytes resQuery.Key = key if reqQuery.Prove { - value, proof, exists := tree.Proof(key) - if !exists { - resQuery.Log = "Key not found" + value, proofExists, proofNotExists, err := tree.GetWithProof(key) + if err != nil { + resQuery.Log = err.Error() + break + } + + if value != nil { + resQuery.Value = value + resQuery.Proof = wire.BinaryBytes(proofExists) + } else { + resQuery.Proof = wire.BinaryBytes(proofNotExists) } - resQuery.Value = value - resQuery.Proof = proof } else { value := tree.Get(key) resQuery.Value = value