[IBC] Implement ICS-23 allowing for the verification of SMT proofs
h5law opened this issue · 0 comments
h5law commented
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
- Integrate
cosmos/ics23
proof verification into Pocket V1s IBC module - Create helper functions to convert
SparseMerkleProof
types into the releventcosmos/ics23
types
Deliverable
- Implement ICS-23 fully with its various methods and types
- Utilise
cosmos/ics23
where possible
- Utilise
- Create helper functions to convert
SparseMerkleProof
objects into the relevantcosmos/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