-
Notifications
You must be signed in to change notification settings - Fork 346
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
{suspend, resume} xcm execution when {enter, exit}ing maintenance-mode #1359
Conversation
…o ensure this effectively
@@ -88,6 +103,9 @@ pub mod pallet { | |||
/// able to return to normal mode. For example, if your MaintenanceOrigin is a council, make | |||
/// sure that your councilors can still cast votes. | |||
type MaintenanceOrigin: EnsureOrigin<Self::Origin>; | |||
/// Handler to suspend and resume XCM execution | |||
#[cfg(feature = "xcm-support")] | |||
type XcmExecutionManager: PauseXcmExecution; | |||
/// The DMP handler to be used in normal operating mode | |||
#[cfg(feature = "xcm-support")] | |||
type NormalDmpHandler: DmpMessageHandler; |
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.
Do we need the Handlers at all now?
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.
hmmm I think we do, the new code just stops executing XCM in xcmp_queue::on_idle. I don't think it changes how messages are otherwise handled...
Let's remove the dmp & xcmp handlers from the config and verify all tests pass. I think thats the ultimate check that we need to ensure this behaves as we expect |
Sounds good, I'll try it. I don't think they do the same thing though... |
@girazoki the CI says the TS test fails without the handlers:
So I will revert removing the handlers |
Oh I see whats going on here. I think initially the cumulus PR was set to pause the XCMP and DMP queues, but it finally made in with only the XCMP queue. So what we can remove is the XCMP handler, not the DMP one. I think the xcmp handler test works fine |
More generally, I think we might be able to do this for both queues with https://github.com/paritytech/polkadot/pull/5035/files But for now I think we can remove the XCMP queue. Can you mention this PR as a TODO in the DMP handler so that we dont forget to remove it in the future? |
MOON-1483
Suspends xcm execution of messages in xcmp_queue::on_idle when entering maintenance-mode
Resumes xcm execution of messages in xcmp_queue::on_idle when exiting maintenance-mode
Removes the XcmpHandler associated types from pallet maintenance mode
Relevant: