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

CrossChainSwaps: Add a middleware to handle IBC metadata for the swap #2661

Closed
nicolaslara opened this issue Sep 8, 2022 · 3 comments
Closed
Assignees

Comments

@nicolaslara
Copy link
Contributor

nicolaslara commented Sep 8, 2022

Design a middleware that allows us to extend IBC transfers with the extra metadata needed for crosschain swaps:

  • Tokens to swap into
  • Callback?

On receiving the metadata, the middleware would then call a function to make the swap and transfer the seapped tokens back to the caller (or alternatively another address or contract if a callback is specified)

If possible it should be designed in generic way so that it can be upstreamed to ibc-go.

@nicolaslara nicolaslara self-assigned this Sep 8, 2022
@nicolaslara nicolaslara added this to the Cross Chain Swaps milestone Sep 12, 2022
@nicolaslara nicolaslara changed the title CrossChainSwaps: Prototype a solution that can be released without upstream changes CrossChainSwaps: Add a middleware to handle IBC metadata for the swap Sep 12, 2022
@p0mvn
Copy link
Member

p0mvn commented Sep 22, 2022

@nicolaslara when you get the time, do you mind linking all relevant PRs one could follow about this feature?

@nicolaslara
Copy link
Contributor Author

@p0mvn I don't have a PR ready yet, but I'm working on nicolas/crosschain-swaps

But I've extracted a few of those changes into these IBC-go PRs:

cosmos/ibc-go#2296
cosmos/ibc-go#2306
cosmos/ibc-go#2305

Depending on what changes in ibc-go we may need more or less on our end

@ValarDragon
Copy link
Member

Done!

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

No branches or pull requests

3 participants