Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design IBC payload types for Sovereign rollup #281

Open
5 tasks
soareschen opened this issue Apr 25, 2024 · 0 comments
Open
5 tasks

Design IBC payload types for Sovereign rollup #281

soareschen opened this issue Apr 25, 2024 · 0 comments

Comments

@soareschen
Copy link
Collaborator

soareschen commented Apr 25, 2024

Summary

To properly build IBC messages to be sent from Sovereign to Cosmos, we need to design the IBC payload types for Sovereign to contain sufficient information that are fetched from the Sovereign rollup.

  • The key difference of the Sovereign payloads as compared to the Cosmos payloads is that we need to use Jellyfish Merkle proofs to construct the proofs.
  • It is not clear whether we can reuse the Cosmos types such as Proofs and CommitmentProofBytes.
  • On the sovereign-ibc side, it looks like the proofs are returned in the form of Vec<u8> raw bytes, as a result, the relayer do not need to parse the proofs into the Jellyfish domain type
  • There may need to be two payload types if we also need to fetch information from the DA
    • The rollup payload type only contain information fetched from the rollup
    • The chain payload type is a composition of the rollup payload, with additional DA information.
    • Other than client creation and update, it is unlikely that we need to interact with the DA for other IBC payloads. But this note is just in case if we need it.

Tasks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant