Skip to content

Feature: Possibility to send assets with different trust between chains  #226

@IkerAlus

Description

@IkerAlus

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

No one assigned

    Labels

    P3 - LowLow PriorityenhancementNew feature or requestwontfixThis will not be worked on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions