Implement ICS-23 (vector commitments) including the serialisable data types that will allow for the proof generation and verification of membership/non-membership proofs based on elements in the IBC stores.
The implementation of ICS-23 should utilise cosmos/ics23 and the types it defines to carry out verification of serialisable proofs without the need for the underlying tree structure.
Origin Document
Issue #794
Goals
Integrate cosmos/ics23 proof verification into Pocket V1s IBC module
Create helper functions to convert SparseMerkleProof types into the relevent cosmos/ics23 types
Deliverable
[ ] Implement ICS-23 fully with its various methods and types
[ ] Utilise cosmos/ics23 where possible
[ ] Create helper functions to convert SparseMerkleProof objects into the relevant cosmos/ics23 types
[ ] Add unit tests covering this functionality
Non-goals / Non-deliverables
Change any existing SMT proof logic
General issue deliverables
[ ] Update the appropriate CHANGELOG(s)
[ ] Update any relevant local/global README(s)
[ ] Update relevant source code tree explanations
[ ] Add or update any relevant or supporting mermaid diagrams
Testing Methodology
[ ] Task specific tests or benchmarks: make ...
[ ] New tests or benchmarks: make ...
[ ] All tests: make test_all
[ ] LocalNet: verify a LocalNet is still functioning correctly by following the instructions at docs/development/README.md
[ ] k8s LocalNet: verify a k8s LocalNet is still functioning correctly by following the instructions here
Objective
Implement ICS-23 (vector commitments) including the serialisable data types that will allow for the proof generation and verification of membership/non-membership proofs based on elements in the IBC stores.
The implementation of ICS-23 should utilise
cosmos/ics23
and the types it defines to carry out verification of serialisable proofs without the need for the underlying tree structure.Origin Document
Issue #794
Goals
cosmos/ics23
proof verification into Pocket V1s IBC moduleSparseMerkleProof
types into the releventcosmos/ics23
typesDeliverable
cosmos/ics23
where possibleSparseMerkleProof
objects into the relevantcosmos/ics23
typesNon-goals / Non-deliverables
General issue deliverables
Testing Methodology
make ...
make ...
make test_all
LocalNet
is still functioning correctly by following the instructions at docs/development/README.mdk8s LocalNet
is still functioning correctly by following the instructions hereCreator: @h5law Co-Owners: @h5law