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

IBC Forwarder #86

Closed
bekauz opened this issue Aug 2, 2023 · 0 comments
Closed

IBC Forwarder #86

bekauz opened this issue Aug 2, 2023 · 0 comments
Assignees
Labels
Milestone

Comments

@bekauz
Copy link
Collaborator

bekauz commented Aug 2, 2023

IBC Forwarder is a new type of component for covenants.

Forwarders are contracts instantiated on neutron with the sole responsibility of receiving funds to an ICA on a remote chain and forwarding them to another module.

Forwarder should be instantiated with some key information to facilitate its ibc logic:

  • ICA and IBC transfer timeouts
  • ibc channel and connection information
  • coin amount and its denom (to forward)

In addition to that, forwarder should be aware of a destination contract address. This is going to be used for submitting a DepositAddress {} query to that contract. The response should be an Option<Addr>. In case of None, forwarder waits and keeps querying until the address is available.
Otherwise, depending on the type of contract, deposit address may vary. Some of the expected responses to the query may be:

  • another ICA in case of Liquid Staker
  • contract address itself in case of Liquid Pooler

As IBC Forwarder expects to receive funds, it should also provide a DepositAddress {} query which should return the ICA address.

@bekauz bekauz added the v2 label Aug 2, 2023
@bekauz bekauz self-assigned this Aug 3, 2023
@bekauz bekauz mentioned this issue Aug 9, 2023
@bekauz bekauz added this to the v2 milestone Aug 21, 2023
@bekauz bekauz closed this as completed Sep 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant