Skip to content
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

BUG: XCM transfer of all funds fails and traps assets #210

Closed
acatangiu opened this issue Mar 1, 2024 · 6 comments
Closed

BUG: XCM transfer of all funds fails and traps assets #210

acatangiu opened this issue Mar 1, 2024 · 6 comments

Comments

@acatangiu
Copy link
Contributor

The issue is still not resolved and after Polkadot runtime update users are now loosing assets on Polkadot. Could you reopen? It seems to be issue with when they send XCM transfer that also dusts their account.

Example of Polkadot transaction where user lost his DOT in transfer from AssetHubPolkadot->Polkadot
https://assethub-polkadot.subscan.io/extrinsic/0xe844257b68019176f815104f845c6e18efa2d85d858c95eebc2077a28fac39c4

This deeply affects experience with Polkadot for users using dApps which damages dApps name.

Edit: There is not even need for account to dust in order for asset transfer to fail. If we sent amount that leaves us exactly with minimum deposit it still fails: https://assethub-polkadot.subscan.io/extrinsic/5766838-2

Edit2: For the context other lower amount transfers work just fine.

Originally posted by @dudo50 in paritytech/polkadot-sdk#3050 (comment)

@acatangiu
Copy link
Contributor Author

Root cause is pallet-xcm extrinsic failure without rolling back side-effects.

The transfer fails because not enough funds are left in the account to pay for delivery fees, but transfer is partially executed leaving assets trapped.

The unintended side-effects of failed pallet-xcm extrinsic were fixed in paritytech/polkadot-sdk#2405 released in polkadot sdk v1.5.0 which hasn't yet landed in runtimes.

There is also upcoming claim_assets() extrinsic for easy recovery of trapped assets: paritytech/polkadot-sdk#3403

Both the fix and the helper extrinsic will be part of the next runtime upgrade #140

@acatangiu
Copy link
Contributor Author

Also write some regression tests for above. Run them in this repo CI.

@thanghang8893
Copy link

I am also experiencing this situation. Looking forward to your earliest update

@acatangiu
Copy link
Contributor Author

New Kusama and Polkadot relay and system chains runtimes were released: https://github.com/polkadot-fellows/runtimes/releases/tag/v1.2.0

This issue will be fixed when they are upgraded on-chain.

@bxy4543
Copy link

bxy4543 commented Apr 10, 2024

I am also experiencing this situation. Looking forward to your earliest update

https://polkadot.subscan.io/extrinsic/19605609-3?event=19605609-55
Me too, how do I know when it was upgraded ?

@acatangiu
Copy link
Contributor Author

acatangiu commented Apr 10, 2024

I am also experiencing this situation. Looking forward to your earliest update

https://polkadot.subscan.io/extrinsic/19605609-3?event=19605609-55 Me too, how do I know when it was upgraded ?

Upgrade is being voted on in OpenGov: https://polkadot.polkassembly.io/referenda/648 - when it goes from Deciding to Executed, the upgrade has happened.

Since the fix has been released, and on-chain upgrade is under way, I am closing the issue.
Please re-open if issues persist after the 1.2.0 upgrade.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants