-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Labels
P3 - LowLow PriorityLow PriorityenhancementNew feature or requestNew feature or requestwontfixThis will not be worked onThis will not be worked on
Description
Currently a user can’t send two assets with different “trust assumptions” between a system parachain (origin) and a parachain (destination). For example, if a user tries to send USDT and GLMR to Moonbeam, the API will return and error. This is because we need a teleport call to transfer GLMR while a reserve backed transfer is needed for USDT.
It would be nice to allow this functionality, so that if the user chooses a destination chain and several assets with different trust between origin and destination, the API will construct two calls with the corresponding assets in them.
Note that:
- There should be a maximum number of assets to be chosen for transfer, this value has to be smaller than
MAX_ITEMS_IN_MULTIASSETS
(currently set to 20) of the XCM protocol. - Connected to the prev point, currently there is a
MAX_ASSETS_FOR_TRANSFER
limitation (currently set to 2) - Given the asset multilocation and the destination parachain, we can always infer the trust relationship between the system parachain and said destination chain for the given asset. Hence the API should be always able to construct the right XCM call.
- When more than one call is returned as the API output, the user can batch them in a single extrinsic with the
utility.batch(calls)
call. The API could do this call batching by default too.
Metadata
Metadata
Assignees
Labels
P3 - LowLow PriorityLow PriorityenhancementNew feature or requestNew feature or requestwontfixThis will not be worked onThis will not be worked on