-
Notifications
You must be signed in to change notification settings - Fork 105
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
feat: add transfer and call #334
base: main
Are you sure you want to change the base?
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think showing a diagram of the fast withdrawal example would make sense
|
||
Some scenarios include: | ||
|
||
- A user deposits assets on an L2, mints a derivative, and then needs to bridge the underlying asset to an L1 vault for further use. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- A user deposits assets on an L2, mints a derivative, and then needs to bridge the underlying asset to an L1 vault for further use. | |
- A user deposits assets on an L2, mints a derivative, and then needs to bridge the underlying asset to an L1 vault for collateralization. |
|
||
1. Tokens are transferred from the sender to the contract. | ||
2. An [Interchain Account (ICA)](/docs/reference/applications/interchain-account) is derived for the contract on the destination chain. | ||
3. The Warp Route transfer is initiated, sending the tokens cross-chain. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
3. The Warp Route transfer is initiated, sending the tokens cross-chain. | |
3. The Warp Route transfer is initiated, sending the tokens crosschain to the interchain account |
1. Tokens are transferred from the sender to the contract. | ||
2. An [Interchain Account (ICA)](/docs/reference/applications/interchain-account) is derived for the contract on the destination chain. | ||
3. The Warp Route transfer is initiated, sending the tokens cross-chain. | ||
4. A remote contract call is executed after the tokens arrive. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4. A remote contract call is executed after the tokens arrive. | |
4. A remote contract call is executed on the destination chain from the interchain account after the tokens arrive. |
|
||
:::note | ||
|
||
- The contract must ensure the tokens arrive before executing the follow-up action. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe add a note about most calls requiring a token balance will revert before the tokens arrive and that the relayer retries with backoff to deliver the ICA call
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also that the ICA may need to do an ERC20 approval call in addition to a deposit
This PR adds the transfer and call pattern to the docs.
Open Questions: