Closed rnbguy closed 3 months ago
Attention: Patch coverage is 89.28571%
with 69 lines
in your changes are missing coverage. Please review.
Project coverage is 67.76%. Comparing base (
cb6ca8b
) to head (72c2a0e
).
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
I managed to write a minimal proof verification test with Tendermint light client. For now, it uses the ProofSpecs
of basecoin_store
.
To keep the proof retrieval minimal, I had to modify the ProvableContext::get_proof
of MockIbcStore
. Before it returned the encoded bytes of a singleCommitmentProof
. Now it returns the encoded bytes of MerkleProofs
, which is essentially a list of CommitmentProof
s corresponding to a MerklePath
.
Two shortcomings of basecoin_store
:
Ignore this comment - as the changes related to this will be processed in a separated PR.
That was a good suggestion. While doing that, I realized that the chain ID (and revision number) are not that relevant for our test cases. We can actually totally remove the chain_ids and use fixed zero as a default revision number. It is only needed to test client upgrades.
I still kept it as some of the tests are using Height::new(1, <height>)
. Let's refactor the following in future PR:
TestHost::revision_number
that is only necessary for producing blocks (for a host with no concept of chain ID - this would just return zero)latest_height
in MockContextConfig
to be just revision height i.e. u64
(as the Context does not need to deal with revision_number
- this should be dealt via TestHost
implementation)
Closes: #1045
Description
ClientStateValidation
andClientContextValidation
begin_block
andend_block
methods forMockContext
ibc-testkit
PR author checklist:
unclog
.docs/
).Reviewer checklist:
Files changed
in the GitHub PR explorer.