-
Notifications
You must be signed in to change notification settings - Fork 743
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
xcm-executor: validate destinations for ReserveWithdraw and Teleport transfers #5660
xcm-executor: validate destinations for ReserveWithdraw and Teleport transfers #5660
Conversation
1e5b2ef
to
3b92d33
Compare
…transfers 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: Adrian Catangiu <[email protected]>
3b92d33
to
583fdd7
Compare
…date-initiate-reserve-withdraw
…date-initiate-reserve-withdraw
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good fix. This will break some messages if they're wrong right now, but it's better to break them than to allow them to lose funds :) so everything's good
…transfers (#5660) 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: Adrian Catangiu <[email protected]> Co-authored-by: Branislav Kontur <[email protected]>
Created backport PR for
Please cherry-pick the changes locally and resolve any conflicts. git fetch origin backport-5660-to-stable2407
git worktree add --checkout .worktree/backport-5660-to-stable2407 backport-5660-to-stable2407
cd .worktree/backport-5660-to-stable2407
git reset --hard HEAD^
git cherry-pick -x b5ac7a9d59298eddcd0b6e9470afed7cc9e403d4
git push --force-with-lease |
…transfers (#5660) 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: Adrian Catangiu <[email protected]> Co-authored-by: Branislav Kontur <[email protected]> (cherry picked from commit b5ac7a9)
Successfully created backport PR for |
Backport #5660 into `stable2409` from acatangiu. See the [documentation](https://github.com/paritytech/polkadot-sdk/blob/master/docs/BACKPORT.md) on how to use this bot. <!-- # To be used by other automation, do not modify: original-pr-number: #${pull_number} --> Co-authored-by: Adrian Catangiu <[email protected]>
This breaks existing test in ORML. The change is significant enough that it shouldn't be a patch version bump open-web3-stack/open-runtime-module-library#1011 also I can't find this PR in any release notes |
This change adds the required validation for stronger UX guarantees when using
InitiateReserveWithdraw
orInitiateTeleport
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.