-
Notifications
You must be signed in to change notification settings - Fork 710
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: fix for Transact v5->v4 decoding #6609
Closed
Closed
Changes from 1 commit
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
@franciscoaguirre I am not sure if MAX is ok, we could also go with MAX/2, MAX/4 ..., previously we had here:
at least MAX is working for #6585
I tested this with chopstics for https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fwestend-rpc.polkadot.io#/explorer/query/0x01cd07a4ede58f34d76422febdf1adc28669c1a2ed5fa5ccaa7d15a7d1bfb0a5
Probably
Weight::MAX
shouldn't be used, I am no sure, because of chains which have just XCMv4 processing:https://github.com/paritytech/polkadot-sdk/blob/stable2409/polkadot/xcm/xcm-executor/src/lib.rs#L862-L871
https://github.com/paritytech/polkadot-sdk/blob/stable2409/polkadot/xcm/xcm-builder/src/weight.rs#L65
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.
if
call.take_decoded()?.get_dispatch_info()
only fails for calls of type()
, then using MAX should be ok, in practice there should be noTransact
instructions for anyXcm<()>
. Any real Transact will have a call type different than()
, no?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.
The issue is when we send it we'll end up telling the receiver to use MAX. I think MAX divided by some factor should be good. Or looking at the on-chain data and picking a value that is big enough for most transacts
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.
The problem is that the weight here in
require_weight_at_most
is what is actually initially charged for execution fees on older chains, so dryrunning an xcmv5 program says use these fees, then sending that program to an xcmv4 chain will have the call fail with not enough fees(someone needs to double check this and confirm in code)
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.
Yeah we should go for a more backwards compatible solution