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

Support signing chained transactions #1511

Open
ilblackdragon opened this issue Mar 3, 2021 · 1 comment
Open

Support signing chained transactions #1511

ilblackdragon opened this issue Mar 3, 2021 · 1 comment
Assignees
Labels
📈 Enhancement Nice to have features & optimizations New Feature ✨ A new feature that comprises a new user flow or new & robust functionality. Priority 2 Important 🛠 UX / UI Requires discovery and/or deliverables from Product Design

Comments

@ilblackdragon
Copy link
Member

ilblackdragon commented Mar 3, 2021

With evolution of various standards that include Storage management, callbacks, etc - we are ending up needing to issue multiple transactions in a row to different contracts.

Even though NEAR's transaction supports multiple actions per transaction, all of those actions apply to the same receiver.

Simple example is sending nDAI via linkdrop v2.

Next transactions must be sent:

  • call send on linkdrop to initiate storage
  • call ft_transfer_call on nDAI to transfer to linkdrop

More complicated example: add liquidity of nETH, nDAI and nUSDT to Multiswap.

Next transactions must be sent:

  • to multiswap to register this user's account for storage
  • to nETH to send funds to multiswap
  • to nDAI to send funds to multiswap
  • to nUSDT to send funds to multiswap
  • to multiswap to actually add liquidity to the specific pool

User should confirm signing once in the wallet the whole set of transactions to different contracts and Wallet would play them out.

If Wallet sends them all at once, even though they have increasing nonce and will be played in the right order, because they contain async calls - next tx may start executing before previous tx's async calls finished.
For now submitting them one after another is required but ideally we would have better protocol solution for this.

@vgrichina
Copy link
Contributor

note that this is technically is already supposed to be supported

however we didn't test it much end to end, UX might be suboptimal, etc

@stefanopepe stefanopepe added Priority 2 Important New Feature ✨ A new feature that comprises a new user flow or new & robust functionality. 📈 Enhancement Nice to have features & optimizations 🛠 UX / UI Requires discovery and/or deliverables from Product Design labels Apr 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📈 Enhancement Nice to have features & optimizations New Feature ✨ A new feature that comprises a new user flow or new & robust functionality. Priority 2 Important 🛠 UX / UI Requires discovery and/or deliverables from Product Design
Projects
None yet
Development

No branches or pull requests

4 participants