Skip to content
Snippets Groups Projects
user avatar
Adrian Catangiu authored
This change adds the required validation for stronger UX guarantees when
using `InitiateReserveWithdraw` or `InitiateTeleport` XCM instructions.
Execution of the instructions will fail if the local chain is not
configured to trust the "destination" or "reserve" chain as a
reserve/trusted-teleporter for the provided "assets".

With this change, misuse of `InitiateReserveWithdraw`/`InitiateTeleport`
fails on origin with no overall side-effects, rather than failing on
destination (with side-effects to origin's assets issuance).

The commit also makes the same validations for pallet-xcm transfers, and
adds regression tests.

---------

Signed-off-by: default avatarAdrian Catangiu <adrian@parity.io>
Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
b5ac7a9d