You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi @ImJeremyHe. The reason why the proof is nil in that response (and in the response of other gRPC queries of ibc-go) is the lack of support at SDK/Tendermint level for gRPC calls to return proofs for the query. There is this issue open in the SDK repo to add support for it.
@crodriguezvega Thank you for your reply! Do you know where I can read the exact implementation of getting proof? There are so many relevant repo and I have no clue.
@ImJeremyHe Sorry for the late reply, but I didn't have the knowledge to be able to answer your question, until @AdityaSripal actually explained this week how it works.
When a relayer makes an ABCI query on Tendermint't RPC endpoint, Tendermint routes via ABCI the query to the SDK. From here, the steps to follow where a proof for data stored in IAVL is obtained are these: 1, 2, 3, 4, 5, 6, 7, 8 and finally inside this function the IAVL treeGetMembershipProof or GetNonMembershipProof functions are used to retrieved a proof depending on whether a existence or non-existence proof is needed.
Summary of Bug
I have investigated for a while that how an existence proof is generated in
ibc-go
.But I found that it is always
nil
in the response.ibc-go/modules/core/04-channel/keeper/grpc_query.go
Line 223 in ceddad5
I'm not sure whether this is the relevant code I am looking for.
Expected Behaviour
Version
Steps to Reproduce
For Admin Use
The text was updated successfully, but these errors were encountered: