Feature Request: IBC transfers of the entire balance of a particular denomination. #6567
Closed
3 tasks
Labels
20-transfer
needs discussion
Issues that need discussion before they can be worked on
nice-to-have
type: feature
New features, sub-features or integrations
Milestone
Summary
Enhance the UX of interchain workflows by enabling IBC transfers of the entire balance of a particular denomination.
Problem Definition
Consider two chains, Chain A and Chain B. Chain B has a DEX, while Chain A has an ICA controller. If an ICA user on Chain A wants to:
Currently, each step of this workflow requires a new IBC packet. We aim to streamline this process by combining steps 2 and 3 into a single ICA packet. Though it may seem feasible to construct an ICA transaction that includes both SwapMsg and MsgTransfer together, in practice, slippage considerations during the swap complicate this. This makes it impossible to determine the exact amount to be transferred at the time of constructing the ICA transaction.
By introducing a CosmosSDK message that allows transferring all coins of a particular denomination, we can effectively combine steps 2 and 3 into a single packet.
This workflow has caused headaches for multiple users.
Use cases
Proposal
This feature would require modifications only to the transfer message server, not the transfer packet itself. Below are two proposed implementations, though we welcome alternative approaches:
MsgTransferAll
Introduce a new MsgTransferAll to facilitate transfers:
Set amount to
UnboundedSpendLimit
Alternatively, we could continue using MsgTransfer. If any amount for any denomination is set to
UnboundedSpendLimit()
, the sender's entire balance for that denomination will be used.For Admin Use
The text was updated successfully, but these errors were encountered: