`commitment_proof` for non-Cosmos chain
- Dominant language
- Rust
- Stars
- 129
- Forks
- 85
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
We are working on the Substrate chain support of [ibc-rs](https://github.com/octopus-network/ibc-rs/tree/feature/beefy), which utilizes
https://github.com/confio/ics23/tree/master/rust.
The `CommitmentProof` has 4 variants [Exist, Nonexist, Batch, Compressed](https://github.com/informalsystems/ibc-rs/blob/aed240774df62b19099f796f2dd8459dabd72c88/proto/src/prost/std/ics23.rs#L56), none of them matches the structure of [the corresponding proof in Substrate](https://github.com/paritytech/substrate/blob/8df8d908c4d77a8dd19751784b6aca62159ddda8/client/rpc-api/src/state/helpers.rs#L27).
We use a temporary work-around [compose_ibc_merkle_proof](https://github.com/octopus-network/ibc-rs/blob/36b65032fc26018684eb5045c2de4e5b97fb723f/relayer/src/chain/substrate.rs#L1723) to insert the Substrate's proof into the `CommitmentProof` currently.
Is it possible to create a new variant in `CommitmentProof` for Substrate?
Thank you
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading proto/src/prost/std/ics23.rs and comparing its four CommitmentProof variants with the linked Substrate proof structure. Review the linked compose_ibc_merkle_proof workaround in relayer/chain/substrate.rs, then determine the required proof representation and compatibility constraints. Done means an agreed design for supporting the Substrate proof, or a documented reason not to add a variant.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cryptography
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100