In https://forum.polkadot.network/t/security-vulnerability-executing-unauthorized-xcm-messages/553 it is explained how someone could provide some incorrect inherents to the batch call in the utility pallet. Timestamp is used as an example of a possible incorrect inherent. I am not sure I understand why this is only possible when the origin is None, wouldn't the same be possible with Signed origin?

I would really appreciate some explanation on this.

1 Answer 1


The convention when writing inherents is to ensure that the origin is None doing:


At the top of the inherent. batch et all are forwarding the origin that called them to the inner calls. Meaning if the origin is Signed the inner calls will also see this Signed origin and as we have the ensure_none it will fail.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.