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

E2E Token Transfer Demo with Sovereign SDK Rollup #4000

Open
cmwaters opened this issue Oct 23, 2024 · 1 comment
Open

E2E Token Transfer Demo with Sovereign SDK Rollup #4000

cmwaters opened this issue Oct 23, 2024 · 1 comment
Labels
WS: ZK Accounts 🗳️ Controlling accounts with SNARKs

Comments

@cmwaters
Copy link
Contributor

cmwaters commented Oct 23, 2024

Summary

A success criteria for the v1 prototype is to be able to send TIA to and from a Sovereign SDK rollup using the ZK IBC Client.

Any progress and blockers should be tracked here

@cmwaters
Copy link
Contributor Author

What's needed:

  • Working implementation of sovereign's IBC module (which wraps ibc-rs and is currently being implemented by Eiger). Ideally we can have a docker container of a sov sequencer with IBC that the relayer can query for proofs and submit transactions to
  • Modifications to the hermes relayer to support querying state + proofs and submitting transactions on Celestia (some of these modifications - like submitting Celestia headers to Sovereign may already be taken care of and more so not even needed if Rollup full nodes are expected to verify Celestia headers anyway)
    • Investigate what the API of Sovereign is and what adjustments are needed. It looks like Sovereign emits packets as events in an "Accessory" state not part of the committed tree (similar to Cosmos SDK chains)
  • Finish defining the circuits for the proofs
    • Either, wait for Sovereign to ship the outer circuits which we can wrap into a groth16 proof (Need to investigate what that looks like i.e. do the public inputs change)
    • Try to wrap the inner circuit proofs (either aggregated or not) directly into a groth16 proof.
  • Finish the ZK IBC Client (write a keeper to store the header hashes)

Then we can begin to write an e2e test

Other follow ups:

  • Investigate how to support sovereign sdk optimistic rollups

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
WS: ZK Accounts 🗳️ Controlling accounts with SNARKs
Projects
None yet
Development

No branches or pull requests

1 participant